|
1. 显示所有命令
set all
2. 显示行号和关闭行号
显示行号:
set number
set nu
关闭行号:
set nonu
3. 自动缩进
开启自动缩进 set autoindent
可接着设置缩进级别 set shiftwidth=4 表示每级缩进设置为 4 个空格。
如果是编辑 C 语言,那么可以通过下面 3 个命令进行调节:
set autoindent
set cindent
set shiftwidth=4 (这个缩进级别可以根据喜好修改,比如在 while,if 语句在换行时会自动缩进 shiftwidth 个空格,默认情况下是一个 tab 间隔大小) 。
在保持 set shiftwidth=4 这个命令的模式下,可以使用 >> 命令将光标所在一行增加一级缩进,使用 << 命令减少一级缩进。如果希望同时缩进多行,可以在 >> 或 << 前面加上一个整数,比如 3 >> ,这样就会让光标所在行的下面的 3 行增加。
set autoindent 和 set shiftwidth=4 的缩写形式分别是 set ai 和 set sw=4 。
如果要关闭自动缩进功能,则用命令 set noai 。
4. 搜索时不区分大小写
在 vi 时进行搜索,可以在命令模式下,输入 “/要搜索的单词" ,然后就按下 n 或 N 键进行向下或向上的搜索。但有时我们希望搜索时不区分单词的大小写,那么可使用命令:
set noignorecase 或该命令的缩写形式 set ic 。
要关闭这种行为,使用命令 set noic 。
像上面这些设置,如果希望每次启动 vim 时都有效,那么可以将设置命令写到 /etc/vimrc 文件中。
5. 自动对齐快捷键
很多时候,你可能会从 windows 里复制一段代码直接粘贴到 putty 或者是粘贴到虚拟机里的终端窗口里,然后你可能会看到代码排序相当的乱,而且代码从上至下是不断向右扩展的,此时你希望一下子能将代码恢复正常显示,可以使用以下快捷键:
gg = G
也就是按下两个小写字母 g 然后再按下 = 号键,最后按下大写 G 键。
6. 添加书签
在一个文档中添加书签的命令是:mx ,其中 x 代表 26 个英文小写字母中的任 1 个。
比如,当你在光标所在的一行处,输入命令 ma ,那么就给这一行添加了一个名字为 "a" 的书签,mb 是添加了一个名字为 "b" 的书签,以此类推。
如果你需要跳到你的书签处(比如 a 这个书签),需要输入命令: `a 。注意,a 前面的字母就是数字间 1 前面那个字母;同理,要找 ”b" 书签就输入 "`b" 。
如果书签做得多了,可能记不住,那么可以使用 makrs 命令,这时它会显示所有的书签列表。
上面所说的是当前一个文档中的书签,但是也可以在不同的文档间建立书签,这种书签的建立使用 mX 命令,其中 X 表示 26 个大写字母中的任意一个。比如你现在在编辑 temp.txt 这个文件,你给它建立一个书签 mA,然后你就退出了 temp.txt 的编辑。接着,你再编辑第 2 个文件 temp2.txt ,然后你再给这个文件加上一个书签 mB 。此时,你突然记起对 temp.txt 还忘记加了些什么内容,然后你想再去编辑 temp.txt,这时无需退出 temp2.txt 再打开 temp.txt,只需要使用命令 `A 即可切换到 temp.txt 。 当编辑完 temp.txt 后,可以直接使用 `B 切换回 temp2.txt 这个文件中来。这种不同档案间的书签也可以通过 marks 命令查看到。
还有一种是数字式的书签,比如 `0, `1, `2 ... `9 这样。`0 表示返回到前一次编辑的档案中的最后一次离开的位置;`1 表示返回到上上一次编辑的档案中最后一次离开的位置。
7. 切换大小写
在编辑文档中,可能需要对正在编辑的文字切换大小写。当然,你可以将当前小写字母或者大些字母删除掉,然后用 caps lock 键切换到大小写输入方式,然后进行字符的录入。有一种方法不需要你这么做,只需要在光标所在的字母处按下波浪号 "~" 即可。
8. 在 vim 里使用 shell 命令
在 vim 里也可以无需退出编辑器而执行 shell 命令,方法是:Esc + : + !command 。这样就能执行命令了。最为实用的是,一些文本编辑相关命令也可以作用于正在编辑的内容。比如有下面的一段内容:3
1
9
19
38
11
89
83
2
4
5
7 我们可以在 vim 里利用 sort 命令对上面的数字进行排序,方法是:
:1,$!sort -n
上面表示利用 sort -n 命令对 1 到 末行进行数字排序。
又比如,我们希望给上面内容的第 4-8 行的前面添加一句话 "New line" ,可以如下操作:
:4,8!awk '{print "New line", $0}'
效果如下:1
2
3
New line 4
New line 5
New line 7
New line 9
New line 11
19
38
83
89 当然 ! 后接的命令中也可以使用管道符 "|" 使命令的执行变得更加强大。
9. 保存部分内容
我们可以对部分内容进行保存,而不是保存全部的内容。方法是:上面,start 表示开始的行号,end 表示结束的行号。也就是说 start 和 end 之间的行我们是要保存的,其它的都不保存。end 后面的 w 表示希望写到另外一个文件中,比如:表示将第 1 到第 5 行的内容保存到当前目录的 temp.txt 文件中。注意,这里要用 >> 符号而不是 > 符号,而且后面的 temp.txt 是要事先存在的。 |
|