Vim入门
为什么学习Vim
- Vim熟练后效率超高
- 服务器上编辑配置文件、写代码必备Vim(当然也可以Vscode远程登录到服务器)
- Vim优点
- 简洁
- 扩展性强
- Vim缺点
- Vim哲学:一切操作都可以使用键盘完成
- 更加推荐使用Spacevim,在vim和neovim的基础上整合了很多好用的插件,而且快捷键提示也非常人性化,非常容易上手
Neovim
- 安装Neovim:
sudo apt-get install neovim
- TODO: Neovim和Vim的区别和联系
Vim的工作模式
- Vim不同工作模式之间的切换形成状态机。
- 最常用的是普通模式。
普通模式
用来浏览文件、复制粘贴、删除。最常用的一种模式。
- 光标移动
上下左右箭头h
、j
、k
、l
(分别代表上下左右)4h
表示向上移动4行w
(word)跳到下一个单词的开头b
(begining)跳到单词开头gg
跳到文档首行,对应Home键G
跳到文档末尾Ctrl+D
(Page Down)下一页Ctrl+U
(Page Up)上一页f(find)+字母
:移动到字母的位置,但是好像只能作用于一行$
移动到行尾^
移动到行首(但是用起来好难用,因为需要使用Shift键) - 复制粘贴
y
:复制,y后面可以跟很多命令yy
:复制当前行yaw
(yank拉 all word):复制整个单词y4j
:复制包括当前行在内向下的4行p
(paste):粘贴 - 删除:
d
(delete)dd
:删除当前行dj
:删除当前行和下一行d8j
:删除当前行和下8行 - 撤销:
u
(undo) - 重做:
Ctrl+r
(redo)
输入模式
- 普通模式下输入i(input)进入输入模式
- 按esc键进入普通模式
c
是进入输入模式的一种方式
i
(input):当前光标前一个字母开始输入a
(append):……下一个字母……I
(大写i):当前行开始……A
:当前行末尾……c4j
:删除当前行和以下4行并进入输入模式caw
(change all word):删除当前word并进入输入模式cc
:删除当前行并进入输入模式o
:插入一行,向下移动光标,并进入输入模式O
:插入一行,将当前行下移一行,并进入输入模式
命令模式
- 输入一些指令,如
q
、wq!
等,完成保存、退出等操作- 普通模式下输入
:
进入命令模式
- 常用命令:
q
(quit)、w
(write)
可视模式
- 该模式用来选择一些内容,然后按y复制、d删除、c删除并进入输入模式
- 普通模式下按
v
进入可视模式- 显然,可视模式极大的增强了普通模式的功能,因为普通模式下只能选择特定的word、line
Vim命令
Vim基础配置 & 修改键位 & 插件
Vim配置文件:*.vimrc*
Neovim配置文件:自行创建,如下
1
2mkdir ~/.config/nvim
nvim ~/.config/nvim/init.vim
修改常见键位
为什么要修改键位:
Esc
、Ctrl
键位置不合理
<Esc>
:imap jk <Esc>
:imap即insert map<space>
:nmap <space> :
:nmap即normal map,把改为:
插件
插件市场:VimAwesome
以
The NERD Tree
插件为例,安装方式建议使用VimPlug修改配置文件,如下(右图)
按照VimAwesome中的提示进行安装,Done
使用插件
命令模式下直接tab键,选择第一个:
最后左侧出现目录:
NERD Tree使用
o
打开/关闭目录,打开文件(关闭文件还是使用:q
)快捷键设置
:NERDTreeToggle
命令用来关闭文件浏览器,那么肯定是使用快捷键更方便map <silent> <C-e> :NERDTreeToggle<CR>
:把NERDTree
绑定在快捷键Ctrl-e
上面
参考的插件配置
参考
The Ends
Vim入门
http://franktjp.com/2023/10/06/Vim入门/