这里会显示出您选择的修订版和当前版本之间的差别。
— |
unsorted [2023/11/11 00:52] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | vim中,移动光标到下一个单词的词首,使用命令”w“,移动光标到上一个单词的词首,使用命令”b“;移动光标到下一个单词的结尾,用命令”e“,移动光标到上一个单词的结尾,使用命令”ge“。 | ||
+ | '' | ||
+ | 上面这些命令都使用’iskeyword‘选项中的字符来确定单词的分界,还有几个命令,只把空白字符当做”单词“的分界。当然,这里说的”单词“已经不是传统意义上的单词了,而是由非空白字符构成一串字串。命令”W“移动光标到下个字串的开始,命令”B“移动到上个字串的开始;命令”E“移动到下个字串的结尾,命令”gE“移动到上个字串的结尾。和上面的命令比较一下,发现什么规律没有? | ||
+ | '' | ||
+ | |||
+ | |||
+ | 命令小结 | ||
+ | v 进入字符可视化模式 (移动一次选择一个字符) | ||
+ | V 进入行可视化模式 | ||
+ | ctrl-V 进入块可视化模式 | ||
+ | ctrl-Q | ||
+ | gv 选中前一次可视化模式时选择的文本 | ||
+ | o 光标移动到选中文本的另一结尾 | ||
+ | O 光标移动到选中文本的另一角落 | ||
+ | |||
+ | |||
+ | zz 光标移动到最顶部 | ||
+ | |||
+ | zt 光标移动到中部 | ||
+ | |||
+ | zb 光标移动到最底部 | ||
+ | |||
+ | |||
+ | |||
+ | http://www.tuicool.com/articles/UB36zq | ||
+ | |||
+ | |||
+ | |||
+ | 查看文首的一些内容,先移动到行首,设置一个标记 s (start): | ||
+ | |||
+ | ''ms'' | ||
+ | |||
+ | 然后移动到你需要处理的地方,再设置一个标记 e (end): | ||
+ | |||
+ | me | ||
+ | |||
+ | 现在你可以随意移动,当你需要看开头的地方,可以使用这个命令移到那里: | ||
+ | |||
+ | 's | ||
+ | |||
+ | 然后使用 '' 跳回来。或者用 'e 跳到你正在处理的文尾的地方。 | ||
+ | 这里使用 s 和 e 作标记名没有特别的含义,只是为了好记而已。 | ||
+ | |||
+ | 你可以用如下命令取得所有的标记的列表: | ||
+ | |||
+ | :marks | ||
+ | |||
+ | 你会注意到有一些特殊的标记,包括: | ||
+ | |||
+ | ' 跳转前的位置 | ||
+ | " 最后编辑的位置 | ||
+ | [ 最后修改的位置的开头 | ||
+ | ] 最后修改的位置的结尾 | ||
+ | |||
+ | 补充:如果想要删除marks,可用命令delmarks + markname 。 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | vimgrep | ||
+ | |||
+ | vimgrep /匹配模式/[g][j] 要搜索的文件/范围 | ||
+ | g:表示是否把每一行的多个匹配结果都加入 | ||
+ | j:表示是否搜索完后定位到第一个匹配位置 | ||
+ | vimgrep /pattern/ % 在当前打开文件中查找 | ||
+ | vimgrep /pattern/ * 在当前目录下查找所有 | ||
+ | vimgrep /pattern/ ** 在当前目录及子目录下查找所有 | ||
+ | vimgrep /pattern/ *.c 查找当前目录下所有.c文件 | ||
+ | vimgrep /pattern/ **/* 只查找子目录 | ||
+ | |||
+ | cn 查找下一个 | ||
+ | cp 查找上一个 | ||
+ | copen 打开quickfix | ||
+ | cw 打开quickfix | ||
+ | cclose 关闭qucikfix | ||
+ | help vimgrep 查看vimgrep帮助 | ||
+ | |||
+ | |||
+ | 修改显示文件类型 | ||
+ | set filetype=php | ||
+ | |||
+ | vim以sudo权限保存 | ||
+ | |||
+ | :w !sudo tee % | ||
+ | |||
+ | |||
+ | |||
+ | vim的normal模式 | ||
+ | |||
+ | |||
+ | 光标定位到首行,执行:I#<Esc> | ||
+ | jVG选中之后的所有行 | ||
+ | :'<,'>normal .这样刚刚选中的行都将执行.代表的最后一次操作。注:只要输入:就能实现:'<,'>,你可以注意VIm的左下角的提示。 | ||
+ | |||
+ | |||
+ | |||