1. 如何使用vim打开一个文件后,位于100行的行首
]# vim +100 FILENAME
2. 如何使vim打开一个文件后,位于第一个if处
]# vim +/if FILENAME
3. vim有哪几种模式,分别有什么作用
答:有编辑模式、插入模式、末行模式、可视模式
编辑模式即正常模式,也是vim打开文件的默认模式,在这个模式下可以执行跳转、复制、删除、替换等操作。
插入模式下可以输入字符。像文档编辑器一样写文档
末行模式可以执行命令,比如高亮显示、执行外部命令等
可视模式下,可以按需选取行或字符,然后进行其他操作。
4. 模式音的切换
A. 正常模式 --> 插入模式:可以使用i、I、a、A、o、O转换到插入模式。
i: 在当前光标所在处插入字符。
I: 在当前光标所在行的行首插入字符
a: 在当前光标所在处后方插入字符。
A: 在当前光标所在行的行尾输入
o: 在当前光标所在行的下方打开一个新行
O: 在当前光标所在行的上方打开一个新行。
B. 输入模式-->编辑模式, 按ESC键
C. 编辑模式-->末行模式, 输入:
D. 末行模式到编辑模式, 按ESC键盘
5. 如何保存并退出vim
A. 在正常模式下,输入大写的ZZ
B. 在末行模式下,输入:wq
C. 在末行模式下,输入:x
6. 如何将vim编辑的文件进行另存
:w /PATH/TO/SOMEFILE
7. 如何不保存退出
A. 如果文件没有被修改,则:q不保存退出
B.: 如果修改了文件而不想保存,只退出,使用:q!强制退出不保存。
8. 如何使光标在字符间跳转
A. 右手的hjkl,在正常模式下分别表示左、下、上、右。
B. 使用#COMMAND,表示可以向某个方向移动#次,比如2l表示向右移动2个字符。
9. 如何实现单词间的跳转
A. w,表示移动到下一个单词的首部
B. e, 表示移动到当前或者后一个单词的尾部
C. b,表示移动到当前或前一个单词的首部
D. #COMMAND,表示移动#个单词。
需要注意的是:在正常模式下按e,如果处于非单词尾部则移动到本单词词尾,如果本身是词尾则移动到下一个单词的词尾; b亦然。
E. 单词跳转前还可以在前面增加动作。比如d2w表示删除光标当前位置到下2个单词的词首。
10. 如何实现行首行尾的跳转
A. ^, 表示跳转到本行的第一个非空白字符
B. 0,表示跳转到本行的绝对行首
C. $,表示跳转到本行的行尾。
11. 行间跳转
A. G表示跳转到文件的最后一行
B. 1G或gg表示跳转到文件首行
C. #G表示跳转到第#行
D. #j表示向下跳转#行
E. #k表示向上跳转#行
12. 句间跳转和段间跳转
A. ),跳到下一句
B. (,跳到上一句
C. },跳到下一段
D. {,跳到上一段
13. 翻屏操作
A. Ctrl+f,向文件尾部翻一屏
B. Ctrl+b,向文件首部翻一屏
C. Ctrl+u,向文件首部翻半屏
D. Ctrl+d,向文件尾部翻半屏
E. Enter键,按行向后翻
14. 字符编辑(Nornal)
x,在正常模式下,表示删除光标所在处字符。
#x,表示从光标所在处开始,删除#个字符。
xp,交换光标所在处字符与其后面字符的位置。
15. 替换命令(Normal)
r: 替换光标所在处的字符。使用方法rCHAR,在当前光标位置输入r,再输入你想要替换成的字符可以将当前光标所在处字符替换成CHAR.
R: 进入替换模式,在正常模式下输入R后,会进入替换模式,替换光标所在处的字符,而后光标右移,可以一直替换。
16. 删除命令
d: d表示delete,可以结合光标跳转命令,实现范围的删除
d$: 删除当前光标所在处一直到行尾的字符
d^: 删除当前光标所在处(不含)一直到行首的字符
de: 删除当前光标所在处一直到本单词或者下一个单词的词尾
dw: 删除当前光标所在处一直到下个单词的词首(不含词首)
db: 删除当前光标所在处(不含当前光标)一直到本单词或上一个单词的词首
#d[b|e|w]: 表示删除命令可以搭配跳转及数字一起使用,达到删除多个单词的效果
dd: 删除整行
#dd: 删除多行
17. 粘贴命令(p,put,paste)
A. p: 如果剪贴板内容不是整行,则在当前光标的后面插入剪贴板内容; 如果是整行,则在当前光标所在行的下一行粘贴。
B. P: 如果剪贴板内容不是整行,则在当前光标的前面插入剪贴板内容;如果是整行,则在当前光标所在行的上一行粘贴。
18. 复制命令(y,yank)
y,复制,工作行为与d类似
y$: 复制当前光标所在位置一直到行尾的内容
y^: 复制当前光标所在位置(不含)一直到行首的非空白字符
y0: 复制当前光标所在位置(不含)一直到绝对行首
ye: 复制当前光标所在位置一直到词尾
yw: 复制当前光村所在位置一直到下一个词的词首(不含词首)
yb: 复制当前光标所在位置(不含)一直到本单词或者上一个单词的词首
#y[e|w|b]: y可以结合数字以及Motion来操作,表示一次可以复制多个单词
yy: 整行复制
#yy: 多行复制,从当前行算起,一起往下复制#行。
19. 改写命令(change,c):
编辑模式跳转到输入模式,实现删除操作。
c$: 删除当前光标所在处一直到行尾的字符,并进入Insert模式
c^: 删除当前光标(不含 )所在处一直到行首,并进入Insert模式
c0: 删除当前光标(不含 )所在处一直到绝对行首,并进入Insert模式
cb: 删除当前光标所在处(不含)一直到本单词或上一个单词的词首,并进入Insert模式
ce: 删除当前光标所在处一直到本单词或者下一个单词的词尾,并进入Insert模式
cw: 删除当前光标所在处一直到下个单词的词首(不含词首),并进入Insert模式
#COMMAND: 可以跟数字联动,表示可以改写多个单词或行
cc:删除光标所在的行,并转换为Insert模式;
#cc:
20. 撤消操作
A. u,undo,撤消前一次操作
B. U,撤消针对本行的所有操作
C. Ctrl+r,撤消此前的撤消操作,也就是redo,经测试不能redo大写U的撤消。
更多训练,请访问vimtutor,进行实操。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。