Vim文件编辑命令(Linux)
Vim文件编辑命令
一、 vim的帮助指令 | |||||
按下 <F1> 键 | |||||
输入 :help <回车> | |||||
:help w <回车> | |||||
二、.vimrc .viminfo文件的配置 | |||||
~/.vimrc文件的配置 | |||||
cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc | |||||
用vim打开文件时,默认会去读.vimrc的配置信息 | |||||
~/.viminfo文件的配置 | |||||
set nu | 显示行号 | ||||
set ruler | 在编辑过程中,在右下角显示光标位置的状态行 | ||||
set showmatch | 设置匹配模式,类似当输入一个右括号时会匹配相应的那个左括号 | ||||
set list | 显示分隔符 | ||||
syntax on | 语法高亮度显示 | ||||
set fileencodings=utf-8,gbk | |||||
set termencoding=gbk | |||||
三、vim的光标移动 | |||||
vim的光标移动大家可能很清楚,不过有一些大家并不知道,却很方便的,我找了一些列出来。 | |||||
1 | w(e):移动光标到下一个单词. | ||||
2 | b :移动光标到上一个单词. | ||||
3 | h :光标向左移动. | k | |||
4 | j(Ctrl+n):光标向下移动. | h | l | ||
5 | k(Ctrl+p) :光标向上移动. | j | |||
6 | l :光标向右移动. | ||||
7 | space 按空格键,光标右移一个字符 | ||||
8 | n<space> 按数字后再按空格键,光标右移n个字符的距离 | ||||
9 | Backspace 光标左移一个字符 | ||||
10 | n<Backspace> 按数字后再按空格键,光标左移n个字符的距离 | ||||
11 | 0 :移动光标到本行最开头. | ||||
12 | ^ :移动光标到本行最开头的字符处. | ||||
13 | $:移动光标到本行结尾处. | ||||
14 | H :移动光标到屏幕的首行. | ||||
15 | M :移动光标到屏幕的中间一行. | ||||
16 | L :移动光标到屏幕的尾行. | ||||
17 | gg:移动光标到文档首行. | ||||
18 | G :移动光标到文档尾行. | ||||
19 | [[ :移动光标到文档首行. | ||||
20 | ]] :移动光标到文档尾行. | ||||
21 | ctrl+f: (即 ctrl 键与 f 键一同按下) 本命令即 page down. | ||||
22 | ctrl+b :(即 ctrl 键与 b 键一同按下, 后同) 本命令即 page up. | ||||
23 | . :此命令相当好使, 它移动光标到上一次的修改行. | ||||
四、vim编码 | |||||
linux下设置中文 | |||||
手动更改配置文件的命令:vi /etc/sysconfig/i18n | |||||
将LANG="zh_CN.UTF-8"修改为:LANG="zh_CN.GBK" | |||||
保存并关闭,运行下面的命令使配置生效: | |||||
source /etc/sysconfig/i18n | |||||
查看文件编码格式 | |||||
:set fileencoding | |||||
设置相应的编码查看文件 | |||||
:set fileencoding=gb18030 | |||||
:set fileencodings=utf-8,gb18030,utf-16,big5 | |||||
set fileencodings=utf-8,gbk | |||||
五、vim 实用命令 | |||||
24 | 0)vim查找配对的括号 | ||||
按 % 可以查找配对的括号 )、]、} | This ( is a test line with ('s, ['s ] and {'s } in it. )) | ||||
1) 把光标放在文本一行中的任何一个有 (、[ 或 { 处。 | |||||
2) 接著按 % 字符。 | |||||
3) 此时光标的位置应当是在配对的括号处。 | |||||
4) 再次按 % 就可以跳回配对的第一个括号处。 | |||||
25 | 1.高亮显示当前文本中,光标所在单词的所有单词:shift+* | ||||
26 | 2.vim打开一个文件,如果文件在更新,如何显示到最新:输入":e"就搞定 | ||||
3. 进入vi的命令 | |||||
27 | vi filename 打开或新建文件,并将光标置于第一行首 | ||||
28 | vi +n filename 打开文件,并将光标置于第n行首 | ||||
29 | vi + filename 打开文件,并将光标置于最后一行首 | ||||
30 | vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处 | ||||
31 | vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filename | ||||
32 | vi filename...filename 打开多个文件,依次编辑 | ||||
vi a b c | |||||
:n跳至下一个文件,:e#回到刚才编辑的文件。 | |||||
33 | vi -o filename...filename 用分割屏幕窗口方式同时打开多个文件 | ||||
可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换 | |||||
34 | 4.vim列编辑 | ||||
vim可以用列编辑: | |||||
如: | |||||
----- | |||||
123 | |||||
456 | |||||
789 | |||||
----- | |||||
在每一个列的第二个字母前面加一个空格: | |||||
1) Ctrl+ v进入visual block模式 | |||||
2) 按j向下选中2 5 8三个数字 | |||||
3) 按I(注意是大写i),然后会让你在第一行写东西,打空格就可以输入空格, | |||||
4) 最后按Esc | |||||
搞定 | |||||
5. 屏幕翻滚命令 | |||||
35 | Ctrl+u 向文件首翻 半屏 | ||||
36 | Ctrl+d 向文件尾翻 半屏 | ||||
37 | Ctrl+f 向文件 尾翻一屏 | ||||
38 | Ctrl+b 向文件首 翻一屏 | ||||
6.插入文本类命令 | |||||
39 | i 从光标所在位置前面开始插入内容 | ||||
40 | I 从光标所在行的第一非空白字符前面开始插入内容 | ||||
41 | a 从光标所在位置后面开始插入内容 | ||||
42 | A 从光标所在行的行尾开始插入内容 | ||||
43 | o 在当前行之下新开一行 | ||||
44 | O 在当前行之上新开一行 | ||||
45 | r 替换当前字符,r 后接着要替换的字符 | ||||
46 | R 替换当前字符及其后的字符,直至按ESC键 | ||||
47 | s 删除当前字符,并进入输入模式 | ||||
48 | S 删除当前行,并进入输入模式 | ||||
49 | cw 删除当前字,并进入输入模式 | ||||
50 | ncw 或nCW 删除当前字及其后的n-1个字,并进入输入模式 | ||||
51 | cc 删除当前行,并进入输入模式 ncc或nCC 删除当前行及其后的n-1行,并进入输入模式 | ||||
7.删除命令 | |||||
52 | 1)ndw 或ndW 删除光标处开始及其后的n-1个字 | ||||
53 | 2)d0 删 至行首 | ||||
54 | 3)d$ 删 至行尾 | ||||
55 | 4)dd 删除当前行 | ||||
56 | 5)ndd 删除当前行及其后n-1行 | ||||
8.搜索及替换命令 | |||||
57 | 1)/pattern 从光标开始处向文件尾搜索pattern | ||||
58 | 3)?pattern 从光标开始处向文件首搜索pattern | ||||
59 | 4)n 在同一方向重复上一次搜索命令 | ||||
60 | 5)N 在反方向上重复上一次搜索命令 | ||||
61 | 6):s/p1/p2/g 将当前行中所有p1均用p2替代 | ||||
62 | 7):n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代 | ||||
63 | 8):%s/p1/p2/g 将文件中所有p1均用p2替换 | ||||
64 | 9):%s/p1/p2/gc 将文件中所有p1均用p2替换,但在替换前显示提示字符给使用者确认(conform)是否需要替换 | ||||
65 | 10):n1,n2s/^/string/g 将第n1至n2行的行首插入string | ||||
66 | 11):%s/^/string/g 将所有行首插入string | ||||
67 | 12):n1,n2s/$/string/g 将第n1至n2行的行尾插入string | ||||
68 | 13):%s/$/string/g 将所有行的行尾插入string | ||||
注意: 其中s为substitute,%表示所有行,g表示global | |||||
9.选项设置 set | |||||
69 | all 列出所有选项设置情况 | ||||
70 | list 显示制表位(Ctrl+I)和行尾标志($) | ||||
71 | nolist 不 显示制表位(Ctrl+I)和行尾标志($) nu或number 显示行号 | ||||
72 | nonu 不显示行号 | ||||
73 | wrap 折行(行内容比较多,一行显示不全时 ,折行显示) | ||||
74 | nowrap 不折行 | ||||
10.行方式命令 | |||||
75 | 1):n1,n2 co n3 将n1行到n2行之间的内容拷贝到第n3行下 | ||||
76 | 2):n1,n2 m n3 将n1行到n2行之间的内容移至到第n3行下 | ||||
77 | 3):n1,n2 d 将n1行到n2行之间的内容删除 | ||||
78 | 4):e filename 打开文件filename进行编辑 | ||||
79 | 5):w 保存当前文件 | ||||
80 | 6):w filename 将编辑的数据储存成另一个文件(类似另存新档) | ||||
81 | 7):n1,n2 w filename 将当前文件中n1至n2行的内容,保存到filename文件中 | ||||
82 | 8):r filename 将文件filename的内容,添加光标所在行的下一行,就是当前行的下面 | ||||
83 | 9):wq 保存当前文件并退出 | ||||
84 | 10):x 保存当前文件并退出 | ||||
85 | 11):q 退出vi | ||||
86 | 12)u 复原前一动作(撤销) | ||||
87 | 13)ctrl + r (恢复) | ||||
11.寄存器操作命令 | |||||
88 | yy 将 当前行 的内容保存到寄存器中 | ||||
89 | nyy 将当前行及其后n-1行的内容保存到寄存器中 | ||||
90 | p 将寄存器中的内容粘贴到光标所处行的下一行 | ||||
91 | P 将寄存器中的内容粘贴到光标所处行的上一行 | ||||
92 | nyw 将光标处开始及其后的n-1个字 保存到寄存器中 | ||||
93 | nyl 将光标处开始及其后的n-1个字符 保存到寄存器中 | ||||
94 | y1G 将光标所在行至第一行的所有内容保存到寄存器中 | ||||
95 | yG 将光标所在行至最后一行的所有内容保存到寄存器中 | ||||
96 | dd 删除当前行,并将所删内容放到寄存器中 | ||||
97 | ndd 删除当前行及其后n-1行,并将所删内容放到寄存器中 | ||||
98 | d1G 删除当前行至第一行,并将所删内容放到寄存器中 | ||||
99 | dG 删除当前行至最后一行,并将所删内容放到寄存器中 | ||||
100 | %!xxd | 二进制表示 | |||
hexdump filename -c |