周松林
发布于 2024-10-18 / 27 阅读
0
0

Vim常用命令

vim常用命令

我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用,实在是我辈码农的装逼利器。

1. 功能指令

按键解释
:q!不保存并推出
:wq保存并退出
:x保存并退出
:w保存
:w b.txt另存为b.txt
:set nu显示行号
Ctrl+w+h多窗口编辑跳转; h,l,j,k
:close关闭当前窗口
:split sec.txt水平分割窗口打开新文件
:vsplit se.txt垂直分割窗口
:!ls执行shell命令

2. 插入模式按键

按键解释
a当前光标的后面
A当前段落的段尾
i当前光标的前面
I当前段落的段首
o当前行的后面创建空白行
O当前行的前面创建空白行

3. 光标操作

按键解释
h左移一位
j下移一行
k上移一行
l右移一位
gg移到文件首行
G移动文件末尾
nG移到第n行
^移到当前行的首字符
$移到当前行的尾字符
fx移动到当前行的下一个x字符处
Fx移动到当前行的上一个x字符处
W向右移动一个单词
nw向右移动n个单词
b向左移动一个单词
nb向左移动n个单词
:n移动到第n行
n往下移动n行
Ctrl+f往下移动一页
Ctrl+b往上移动一页
Ctrl+d往下移动半页
Ctrl+u往上移动半页

4. 编辑文档

按键解释
x向后删除一个字符
X向前删除一个字符
dd删除一行
ndd删除n行
d$删除光标至行尾的内容
dw删除一个单词
J删除换行符,两行合并成一行
u撤销上一步操作
Ctrl+r重做操作
rx将光标当前字符替换为x
yy复制当前行
nyy复制连同光标所在行内的n行文字
p黏贴至当前行之后
P黏贴在当前行之前

5. 查找替换

按键解释
//find n跳转到下一个匹配处N上一个
?find N跳转到下一个匹配处n上一个
: s/root/admin/当前行第一个出现的root替换为admin
: s/root/admin/g当前行中出现的所有root替换为admin
: 3,5 s/sbin/bin/g第三行至第五行之间的所有sbin替换为bin
: 1,$s/word1/word2/g将第1行到最后一行的所有world1替换为world2
: %s/nologin/fault/g将所有行的nologin替换为fault

6. NERDTree命令

按键解释
:NERDTree 显示目录树
:tabnew [++opt选项] [+cmd] 文件建立对指定文件新的tab
:tabc关闭当前的 tab
:tabo关闭所有其他的 tab
:tabs查看所有打开的 tab
:tabp前一个 tab
:tabn后一个 tab
ctrl+w光标自动在左右侧窗口切换
ctrl + w + h光标 focus 左侧树形目录
ctrl + w + l光标 focus 右侧文件显示窗口
ctrl + w + w光标自动在左右侧窗口切换
ctrl + w + r移动当前窗口的布局位置
gT前一个 tab
gt后一个 tab
o在已有窗口中打开文件、目录或书签,并跳到该窗口
go在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t在新 Tab 中打开选中文件/书签,并跳到新 Tab
T在新 Tab 中打开选中文件/书签,但不跳到新 Tab
isplit 一个新窗口打开选中文件,并跳到该窗口
gisplit 一个新窗口打开选中文件,但不跳到该窗口
svsplit 一个新窗口打开选中文件,并跳到该窗口
gsvsplit 一个新 窗口打开选中文件,但不跳到该窗口
!执行当前文件
O递归打开选中 结点下的所有目录
x合拢选中结点的父目录
X递归 合拢选中结点下的所有目录
eEdit the current dif
双击相当于 NERDTree-o
中键对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
D删除当前书签
P跳到根结点
p跳到父结点
K跳到当前目录下同级的第一个结点
J跳到当前目录下同级的最后一个结点
k跳到当前目录下同级的前一个结点
j跳到当前目录下同级的后一个结点
C将选中目录或选中文件的父目录设为根结点
u将当前根结点的父目录设为根目录,并变成合拢原根结点
U将当前根结点的父目录设为根目录,但保持展开原根结点
r递归刷新选中目录
R递归刷新根结点
m显示文件系统菜单
cd将 CWD 设为选中目录
I切换是否显示隐藏文件
f切换是否使用文件过滤器
F切换是否显示文件
B切换是否显示书签
q关闭 NerdTree 窗口
?切换是否显示 Quick Help

评论