Vim命令使用笔记
以下是本人学习vim记到的一点点知识点,好记性不如烂笔头嘛~
打开文件
进入之后在普通模式下
输入 x
:删除首行第一个字符
输入 dd
:删除一行,实际上是剪切一行
输入 ddp
:就这么简单,即实现了快速交换光标所在行与它下面的行
输入 .
:重复执行上一步操作
输入 10x
:删除10个连续字符
输入 3dd
:删除三行文本
在普通模式下,你还可以使用 dw
或者 daw
(delete a word)删除一个单词,所以你可以很容易的联想到 dnw
(n替换为相应数字) 表示删除n个单词。
你在完成依次跳转后,可以使用 Ctrl+o
快速回到上一次(跳转前)光标所在位置
行间跳转
游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入 :set nu
以显示行号) nG(n Shift+g)
游标移动到到第一行 gg
游标移动到最后一行 G(Shift+g)
复制及粘贴文本
- 普通模式中使用y复制
○ 普通模式中,yy
复制游标所在的整行(3yy表示复制3行)
○ 普通模式中,y^
复制至行首,或y0。不含光标所在处字符。
○ 普通模式中,y$
复制至行尾。含光标所在处字符。
○ 普通模式中,yw
复制一个单词。
○ 普通模式中,y2w
复制两个单词。
○ 普通模式中,yG
复制至文本末。
○ 普通模式中,y1G
复制至文本开头。
○ 普通模式中使用p
粘贴
○ 普通模式中,p
(小写)代表粘贴至光标后(下)
○ 普通模式中,P
(大写)代表粘贴至光标前(上)
替换和撤销(Undo)命令
替换和Undo命令都是针对普通模式下的操作
普通模式
普通模式下输入 15G
,跳转到15行
普通模式下输入 >>
整行将向右缩进(使用,用于格式化代码超爽)
普通模式下输入 <<
整行向左回退
普通模式下输入 :
进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数,:set shiftwidth=10
命令行模式
命令行模式下输入 :ce
(center)命令使本行内容居中 :ce
命令行模式下输入 :ri
(right)命令使本行文本靠右 :ri
命令行模式下输入 :le
(left)命令使本行内容靠左 :le
快速查找
普通模式下输入 /
然后键入需要查找的字符串 按回车后就会进行查找。 ?
与 /
功能相同,只不过 ?
是向上而 /
是向下查找。 进入查找之后,输入 n
和 N
可以继续查找。 n
是查找下一个内容, N
查找上一个内容。
打开两个文件 $ vim 1.txt 2.txt
默认进入 1.txt
文件的编辑界面
-
命令行模式下输入
:n
编辑2.txt
文件,可以加!
即:n!
强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件 -
命令行模式下输入
:N
编辑1.txt
文件,可以加!
即:N!
强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件 -
命令行模式下输入
:sp 1.txt
打开新的水平分屏视窗来编辑1.txt
-
命令行模式下输入
:vsp 2.txt
打开新的垂直分屏视窗来编辑2.txt
-
普通模式下
Ctrl+w s
将当前窗口分割成两个水平的窗口 -
普通模式下
Ctrl+w v
将当前窗口分割成两个垂直的窗口 -
普通模式下
Ctrl+w q
即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q! -
普通模式下
Ctrl+w o
打开一个视窗并且隐藏之前的所有视窗 -
普通模式下
Ctrl+w j
移至下面视窗 -
普通模式下
Ctrl+w k
移至上面视窗 -
普通模式下
Ctrl+w h
移至左边视窗 -
普通模式下
Ctrl+w l
移至右边视窗 -
普通模式下
Ctrl+w J
将当前视窗移至下面 -
普通模式下
Ctrl+w K
将当前视窗移至上面 -
普通模式下
Ctrl+w H
将当前视窗移至左边 -
普通模式下
Ctrl+w L
将当前视窗移至右边 -
普通模式下
Ctrl+w -
减小视窗的高度 -
普通模式下
Ctrl+w +
增加视窗的高度
创建加密的文档 $ vim -x file1
在命令行模式中输入 !
可以执行外部的 shell
命令
-
:!ls
用于显示当前目录的内容
•:!rm FILENAME
用于删除名为FILENAME
的文件
•:w FILENAME
可将当前VIM
中正在编辑的文件另存为FILENAME
文件
Vim的功能设定:
获取目前的设定
- 命令行模式下输入
:set
或者:se
显示所有修改过的配置 - 命令行模式下输入
:set all
显示所有的设定值 - 命令行模式下输入
:set option?
显示option
的设定值 - 命令行模式下输入
:set nooption
取消当前设定值
set功能的说明 - 命令行模式下输入
:set autoindent(ai)
设置自动缩进 - 命令行模式下输入
:set autowrite(aw)
设置自动存档,默认未打开 - 命令行模式下输入
:set background=dark
或light
,设置背景风格 - 命令行模式下输入
:set backup(bk)
设置自动备份,默认未打开 - 命令行模式下输入
: set cindent(cin)
设置C语言风格缩进