Sunday, September 23, 2012

vim - motion.txt

motion.txt 記載了 vim 裡面移動相關的主要功能,本篇文章挑幾個比較常見的介紹

motion.txt 介紹的內容 (本篇掠過後三章XD)

1. Motions and operators        operator                                      
2. Left-right motions           left-right-motions                            
3. Up-down motions              up-down-motions                                
4. Word motions                 word-motions                                  
5. Text object motions          object-motions                                
6. Text object selection        object-select                                  
7. Marks                        mark-motions                                  
8. Jumps                        jump-motions                                  
9. Various motions              various-motions



operator
c       change                  delete 然後進入 insert mode
d       delete                  毫無反應只是個 delete
y       yank into register      複製        
~       swap case               改大小寫   
gu      make lowercase          改小寫                    
gU      make uppercase          改大寫                      
g?      ROT13 encoding          凱撒加密                      


                                                                               
v                               virtual mode
V                               基於行的 virtaul mode
Ctrl - V                        基於方塊(矩形)的 virtaul mode


left-right-motions
h                               <-
l                               ->
0                               行首
                              行首非空白
                              行尾
f{char}                         find char 向右找到 {char} 在本行的位置然後把游標移過去
F{char}
t{char}                         to char 移動到 {char} 之前一格
T{char}


up-down-motions
j                               down
k
                               up
                              檔尾
gg 
                             檔頭

word-motions
                              向前一個 word
                              向前一個 word 的尾巴
b
                               向後一個 word

object-motions
(
                               向前一個句子
)
                               向前一個句子
{
                               向前一個段落
}
                               向前一個段落



text object 是 vim 裏面一個特殊的概念,用來說明一項操作的作用對象


"a" 代表 an object
"i" 代表 inner object

object-select 
aw                              a word 
iw                              inner word 
as                              a sentence 
is                              inner sentence 
ap                              a paragraph 
ip                              inner paragraph 
ab                              a () block 
ib                              inner () block 
aB                              a {} block 
iB                              inner {} block
ap                              a paragraph
ip                              inner paragraph
a[                              a [] block
a]                              a [] block
i[                              inner [] block
i]                              inner [] block
a<                              a <> block
a>                              a <> block
i<                              inner <> block
i>                              inner <> block


No comments:

Post a Comment