VIM使用

  1. 原版
    1. 文件打开
    2. 多文件操作
    3. 查找
  2. spf13
    1. 乱码解决
    2. 基本操作
    3. 注释 NERDCommenter
    4. 文件导航工具 NERDTree

原版

文件打开

vim x x x # 打开所有文件

:open file # 进入vim后打开文件

:e file # 关闭当前文件 打开新文件

:ls # 查看缓存
    :ls
    1 %a   "boot.sh"                      line 3
    2      "login.sh"                     line 0

多文件操作

:split :sp  # 打开新的水平窗口
:vsplit :vsp  # 打开新的垂直窗口

ctrl + ww # 依次向后切换
ctrl + w + 方向键 h/j/k/l # 向前下上后切换窗口

:n # 编辑下一个文档
:N # 编辑上一个文档

查找

:/http # 查找http 并高亮所有
:noh # 取消高亮

n # 查找下一个

N # 查找上一个

:%s/xxx/yyy/g # 将所有xxx替换为yyy
# :[range]s/xxx/yyy/[c,e,g,i]
# range 1,7 第一行到第七行 1,$ 第一行到结尾 % 全文
# xxx 待替换字符
# yyy 替换为的字符
# c 每次替换前都询问 e 不显示错误 g 全部替换 i 不区分大小写

spf13

https://www.cnblogs.com/floatedclouds/archive/2011/11/10/2245008.html vim分屏

乱码解决

中文乱码

修改locale.conf确实解决了 但我想要的是阿里云那种显示英文中文却不是乱码

最终vim /etc/vconsole.conf将cn改为us就解决了….

中间也尝试安装语言包, 记得是已经安装 最终是修改上面那个之后就好了

基本操作

R           进入替换模式

e           光标后移一个单词 连续的符号也算一个单词 <<
E           光标后移一个单词 无视符号

b           光标前移一个单词 连续的符号也算一个单词 <<
B           光标前移一个单词 无视符号

yy或Y       复制整行          
p           光标之后粘贴
P大写           光标之前粘贴

## 2020年7月30日10:14:18
ctrl+r      重做撤销内容
u           撤销

^           本行第一个非空格字符
$           本行最后一个非空格字符
G           文件尾
gg          文件头

## 2020年10月27日08:51:36
V选中行后
SHIFT + . 缩进
SHIFT + , 取消缩进

:1,10> 1~10行缩进
:1,10< 1~10行取消缩进

注释 NERDCommenter

,c<space>   当前行注释和切换注释

,cs         块注释当前选中或当前行
v           小写v进入多字符选择模式
V           大写V进入多行选择

文件导航工具 NERDTree

ctrl + e    打开文件导航
o           打开文件, 目录, 标签
go          打开文件, 目录, 标签, 但光标仍位于导航栏

R           刷新根目录下所有文件
r           刷新当前目录下文件

## 2020年7月30日16:22:01
--------------------------------------
t           在新tab中打开选中节点书签
T           同上 但焦点仍在当前tab

gt, gT      在tab之间切换

:tabc       关闭当前tab
:tabo       关闭其他tab
:tabs       查看所有打开的tab
-----------------------------------------
i           在新的split中打开选择文件 两个部分水平切割
gi          同上 焦点仍位于导航栏
s           在新的split中打开选择文件 垂直切割
gs          同上 焦点仍位于导航栏

ctrl+w w    顺序切换, 两个窗口的时候非常方便
ctrl+w hjkl 对应左 下 上 有

ctrl+w c    关闭当前split
ctrl+w o    关闭其他split
-----------------------------------------


tab         补全菜单向下移动
space       补全为当前单词 附带一个空格