vim常用方法详解
vim的模式:
命令模式 | 浏览文件,临时更改vim的工作方式,对字符批量处理 |
插入模式 | 对文件内容进行编辑 |
退出模式 | 退出vim程序 |
一. 命令模式
1.调整vim的工作方式:
在 vim 程序中 “ : set ” 表示调整参数
示例:
“ :set nu “ 表示在每一行前显示行号
“ :set nonu “ 表示取消行号显示
“ :set mouse=a “ 表示显示鼠标
“ :cursorline “ 表示显示行线
注意:在vim程序中设定的vim工作方式是临时的,在vim关闭后会还原,如果要永久保存vim的工作方式,需要编辑vim的配置文件:/etc/vimrc
2.字符的搜索:
“ / 关键字 ” 表示高亮显示所查找的内容 (“ n ” 表示向下匹配关键字;“ N ” 表示向上匹配关键字)
“ :noh “ 表示取消高亮显示的内容
3.字符的管理:
(1)字符的复制:
yl | 复制一个字母 |
y3l | 复制3个字母 |
yw | 复制一个单词 |
y3w | 复制3个单词 |
yy | 复制1行 |
y3y | 复制3行 |
示例:
在命令模式下,输入以上命令进行复制,再按p进行粘贴 ,按 u 可进行撤销,按 ctrl + r 恢复撤销 。
p | 粘贴 |
u | 撤销 |
ctrl + r | 恢复撤销 |
1)复制字母 “ H “
2)复制字母 “ Nic ”
3)复制单词 “ Good ”
4)复制3个单词 “ Nice to meet ”
5)复制一行 “ Nice to meet you ”
6)复制3行 “ Hello, Nice to meet you! Good luck! ”
(2)字符的删除:
dl | 删除1个字母 |
d3l | 删除3个字母 |
dw | 删除1个单词 |
d3w | 删除3个单词 |
dd | 删除1行 |
d3d | 删除3行 |
1)删除1个字母 “ H ”
2)删除3个字母 “ Hel ”
3)删除1个单词 “ Hello ”
4)删除3个单词 “ Nice to meet ”
5)删除1行 “ Nice to meet you ! ”
6)删除3行 “ Hello , Nice to meet you ! Good luck ! ”
(3)字符的剪切:
cl | 剪切1个字母 |
c3l | 剪切3个字母 |
cw | 剪切1个单词 |
c3w | 剪切3个单词 |
cc | 剪切1行 |
c3c | 剪切3行 |
1)剪切 1个字母 “ H ”
2)剪切 3个字母 “ Hel ”
3)剪切 1个单词 “ Hello ”
4)剪切 3个单词 “ Nice to meet ”
5)剪切 1行 “ Nice to meet you ”
6)剪切 3 行 “ Hello,Nice to meet you ! Good luck ! ”
注意:在剪切之后vim会进入插入模式,如果要粘贴需要按[ esc ]退出插入模式然后按p粘贴 。
4. vim的可视化模式
ctrl + v 在这个模式下可以选择区域操作
批量添加字符:
ctrl + v 选中要加入字符所在的列(按上下左右键批量选择) >> 按大写的“ I ” >> 输入要加入的字符 >> 按【 esc 】
5. 字符的替换:
:%s / 要替换的字符 / 替换成的字符 / g | 字符的替换 |
:%s / : / @ / g | 替换全文的 :为 @ |
:1,5s / : / @ / g | 替换1-5行的 : 为 @ |
:/ adm / , / halt / s / : / @ / g | 替换adm到halt之间的 :为 @ |
示例:
( 1 ) 替换全文的 " bin " 为 " ### "
( 2 ) 替换1-5行的 " : " 为 " @ "
( 3 ) 替换 "postfix" 到 "kiosk” 的 " ### " 为 " *** "
6. vim的分屏功能:
ctrl + w s | 上下分屏 |
ctrl + w v | 左右分屏 |
ctrl + w c | 关闭光标所在屏幕 |
ctrl + w 上下左右 | 光标移动到指定屏幕 |
:sp file2 | 同时编辑当前文件和file2 |
示例:
( 1 ) 上下分屏:
( 2 ) 左右分屏:
( 3 ) 关闭光标所在屏幕:
( 4 ) 同时编辑当前文件和 file2
7. 在命令模式下光标的移动:
gg | 光标移动到文件的第一行 |
G | 光标移动到文件的最后 |
: 数字 | 光标移动到指定的行 |
示例:
(1)命令模式下输入“gg”光标移到文件第一行
(2)命令模式下输入“G”光标移到文件最后一行
(1)命令模式下输入“:数字”光标移到指定的37行
二. 插入模式
1.插入模式下光标的移动:
i | 光标所在位置插入 |
I | 光标所在行行首插入 |
o | 光标所在行的下一行插入 |
O | 光标所在行的上一行插入 |
a | 光标所在字符的下一个字符插入 |
A | 光标所在行的行尾插入 |
s | 光标所在字符删除并插入 |
S | 光标所在行删除并插入 |
示例:
( 1 ) 输入“ i ” 在光标所在位置插入:
( 2 ) 输入“ I ” 在光标所在行行首插入:
( 3 ) 输入“ o ” 光标所在行的下一行插入:
( 4 ) 输入“ O ” 光标所在行的上一行插入
( 5) 输入“ A ” 光标所在行的行尾插入
( 6 ) 输入“ a ” 光标所在字符的下一个字符插入
( 7 ) 输入“ s ” 光标所在字符删除并插入
( 8 ) 输入“ S ” 光标所在行删除并插入
三. 退出模式
:q | 退出,在文本内容没有被改变时使用 |
:wq | 退出保存 |
:q! | 强制退出不保存,在改变文件后不想保存时使用 |
:wq! | 强制退出保存,在对只读文件编写时使用(所编辑的只读文件必须是当前用户的文件,或者当前操作的用户是 root) |
示例:
(1)没改变文本内容时退出:
(2)在改变文件后不想保存时强制退出: