欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Vim 命令常用功能详解

程序员文章站 2022-09-13 23:54:38
Vim编辑器 文本编辑器 , 字处理器ASCIIvi:Visual Interface vim :VI iMproved 全屏编辑器,模式化编辑器vim 模式:编辑模式(命令模式)输入模式末行模式 模式转换:编辑模式-->输入模式: i : 在当前光标所在的字符的前面,转为输入模式 a : 在当前光 ......

vim编辑器

文本编辑器 , 字处理器
ascii
vi:visual interface
vim :vi improved

全屏编辑器,模式化编辑器
vim 模式:
编辑模式(命令模式)
输入模式
末行模式


模式转换:
编辑模式-->输入模式:
i : 在当前光标所在的字符的前面,转为输入模式
a : 在当前光标所在的字符的后面,转为输入模式
o :在当前光标所在行的下方,新建一行,并转为输入模式

i : 在当前光标所在行的行首,转为输入模式
a : 在当前光标所在行的行尾,转为输入模式
o : 在当前光标所在行的上方,新建一行,并转为输入模式

输入模式--> 编辑模式
esc

末行模式-->编辑:
esc,esc

一 : 打开文件
#vim /path/to/somefile
vim +#: 打开文件,并定位于第#行
vim + :打开文件,定位于最后一行
vim + /pattern : 打开文件,定位至第一次被pattern匹配到的行首

默认处于编辑模式

二: 关闭文件 `
1 末行模式关闭文件
:q 退出
:wq 保存并退出
:q! 不保存退出
:w 保存
:w! 强行保存
:wq -->x

2 编辑模式下退出
zz:保存并退出

三 移动光标
1 逐字符移动:
h:左
l:右
j:下
k:上
#h:移动#个字符:
2 逐单词移动
w: 移至下一个单词的词首
e: 移至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w
3 行内跳转:
0:跳至绝对行首
^: 跳至行首的第一个非空白字符
$: 跳至绝对行尾
4 行间跳转
#g: 跳转至第#行
g:最后一行
末行模式下,直接给出行号即可

四 翻屏
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏

五 删除单个字符
x: 删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符

六 删除命令:d
d 命令跟跳转命令组合使用:
#dw.#de,#db

dd: 删除当前光标所在行
#dd 删除包括当前光标所在行内的#行

末行模式下:
startadd,endadd 删除第start行到第end行中间的行
.: 表示当前行
$: 表示当前行
+$:向下的#行

七 粘贴命令:p
p:如果删除或复制的为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在的字符的后面;
p:如果删除或复制的为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在的字符的前面;

八 复制命令 y
用法同d

九 修改: 先删除内容,再转换为输入模式
c:用法同d命令

十 替换 :r
r 替换模式

十一 撤销编辑操作
u:撤销前一次的编辑操作
连续u命令 可撤销此前的n次操作
#u : 直接侧小最近#次编辑操作
ctrl + r :撤销最近一次测消操作

十二 重复前一次编辑操作
.

十三 可视化模式
v:按字符选取
v:按矩形块选取

十四 查找
/pattern
?pattern
n
n

十五 查找并替换
在末行模式下使用s命令(用法同sed命令)
addr1,addr2s@pattern@string@gi
1,$ :表示第一行到行尾(表示全文)
%: 表示全文

十六 使用vim 编辑多个文件
vim file,file2,file3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件

十七 分屏显示一个文件
ctrl +w,s:分屏拆分窗口
ctrl +w,v:垂直拆分窗口

在窗口间切换光标
ctrl+w,arrow(箭头)
:qa 关闭所有窗口

十八 分窗口编辑多个文件
vim -o : 水平分割显示
vim -o :垂直分割显示


十九 将当前文件的部分内容,另存为另一个文件
末行模式下使用w命令
:w
:addr1,addr2w/path/to/somewhere

二十 将另一个文件的内容填充在当前文件中
:r /path/to/somewhere

二十一 跟shell交互
:! command

二十二 高级应用
1 显示或取消取消显示行号
:set number -->set nu
:set nonu

2 显示忽略或区分字符大小写
:set ignorecase --> set ic
:set noignorecare --> set noic

3 设置自动缩进
:set autoindent --> set ai
:setnoai

4 查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch

5 语法高亮
:syntax on
:syntax off

二十三 配置文件
/etc/vimc
~/.vimrc