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

如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)

程序员文章站 2022-03-19 10:29:43
...
本篇文章给大家带来的内容是关于,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1.vim的三种工作模式(vim是vi的增强版本)
命令模式
按ESC键后就会进入命令模式,命令模式下的常用操作有复制/黏贴/删除/撤销等....
编辑模式
在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、
修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式
末行模式
在命令模式下按 : 即可进入末行模式
2.命令模式下的相关操作
2.1 保存退出:shift + zz //但是空文件不会保存
2.2 代码的格式对齐:gg=G
2.3 光标的移动:
上下左右按键
hjkl:左下上右
行首行尾:0 和 $(shift+4)
文件首尾:gg 和 G
到指定行:行号+G
从当前行往后跳n行:n+enter
向后跳转一个单词:w
到下一行行首:enter
2.4 删除
删除一个字符:x
删除一个单词:dw
如果此时光标在单词的中间则只会删除单词的一部分
删除前半行:d0
删除后半行:d$(shift+4) 或者 D(shift+d)
删除整行:dd
删除n行:ndd
删除整篇文章:先将光标移动到最后一行 然后dgg
2.5 撤销和反撤销
撤销:u
反撤销:ctrl + r
2.6 复制
复制一行:yy
复制n行:nyy
2.7 粘贴
粘贴到当前光标的下一行:p
粘贴到当前光标的上一行:P(shift+p)
2.8 替换
替换单个字符:r
替换n个字符:R //ESC键退出替换
2.9 查找:
方法一:先按/(逆时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
方法二:先按?(顺时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
方法三:将光标移动到你要查找的单词上,然后按#(shift+3) 即可查找,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
2.10 查找函数的用法(如同vs下的 f12)
将光标移动到你要查找的函数名上,然后按:章节号+K(shift+k),q键退出,在按enter键回到代码中
3.可视模式下的操作:在命令模式下按 v 即可进入可视模式,再按一次退出可视模式
3.1 选中任意文本: 通过上下左右键或hjkl来选中文本
3.2 复制:y (一个y就够了,复制的就是3.1的结果)
3.3 删除和剪切:d(一个d就够了,删除的就是3.1的结果)
3.4 粘贴:这里的粘贴是在光标所在位置的前后不是光标所在行的上下
在光标位置之后粘贴:p
在光标位置之前粘贴:P(shift+p)
4.编辑模式:
a:光标后面插入
i:
o:打开新的一行
s:
5.末行模式:在命令模式下按::
5.1 保存退出:wq 或 x + enter
5.2 行跳转:n + enter
5.3 末行模式跳转到命令模式:两次ESC
5.4 替换:
替换光标所在行的第一个:s/old/new
替换光标所在行的所有:s/old/new/g
一个一个的替换,没替换一个就要询问一次:s/old/new/gc
替换指定多行的:n1,n2s/old/new/g
替换指定多行并询问:n1,n2s/old/new/gc
替换所有:%s/old/new/g
替换所有并询问:%s/old/new/gc
5.5 分屏:
水平分屏:sp
垂直分屏:vsp
分屏两个不同的文件:sp/vsp 文件名
屏幕切换:ctrl + ww
退出分屏:
q:退出当前
qall:退出多有
wq/wqall
5.5 末行模式下执行shell命令:!命令
6.vim同时打开多个文件
vim -o 文件1 文件2 文件3 //垂直分屏
vim -O 文件1 文件2 文件3 //水平分屏
7.vim配置文件
7.1 用户级别(优先级高)
~./vimrc //可能没有
7.2 系统级别(优先级低)
/etc/vimrc
7.3 vim配置
set nocompatible
set number
set autoindent
set smartindent
set showmatch
set ruler
set incsearch
set tabstop=4
set shiftwidth=4
set softtabstop=4
set cindent
set nobackup
set clipboard+=unnamed
#自动补全
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {<CR>}<ESC>O

以上就是如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)的详细内容,更多请关注其它相关文章!

相关标签: vim,python