Vim配置

修改vimrc文件,位置在 /etc/vimrc 或 ~/.vimrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
" 开启语法高亮
syntax enable
if has("syntax")
syntax on
endif

set nocompatible " Use vim defaults
set viminfo='20,\"50 " read/write a .viminfo file, don't store more than 50 lines of registers
set history=50 " store 50 lines of command line history
set nobackup " 不进行备份

" 缩进与对齐
set backspace=indent,eol,start
set autoindent " 自动对齐
set cindent " 设置C/C++自动对齐
set cinoptions=g-1 " 设置C/C++语言的缩进方式
set smartindent " 智能对齐
set tabstop=4 " 设置制表符(tab)的宽度
set softtabstop=4 " 设置软制表符的宽度
set shiftwidth=4 " 自动缩进使用4个空格

" 设置行号
set number

" 搜索高亮
set incsearch
set hlsearch

" 设置搜索时忽略大小写
" set ignorecase

" 检测文件类型
filetype on

" 允许插件
filetype plugin indent on

" 允许使用鼠标
" set mouse=a

" 状态栏设置
set laststatus=2
set ruler " display current row and column position

" 命令行设置
set showcmd " display incomplete commands
set showmode " display vim mode

" 设置代码匹配,包括括号匹配情况
set showmatch

" 终端颜色设置
set modeline
set background=dark

" ------------ 插件配置 ------------

" nerdtree插件显示目录树
call plug#begin()
Plug 'preservim/nerdtree'
call plug#end()

" 设置进入vim就自动开启,并转移光标
autocmd VimEnter * NERDTree | wincmd p

Vim使用

光标操作

1
2
3
4
5
6
7
8
9
10
11
gg:   移动到文件头部
G: 移动到文件末尾
nG: 移动到第n行
$: 跳转到当前行末尾
^: 跳转到当前行开头
w: 向右移动一个单词
b: 向左移动一个单词
h: 光标左移
j: 光标下移
k: 光标上移
l: 光标右移

查找

1
2
3
在普通模式(:)下输入 '/<str>'进行查找
按下 enter或者n 查找下一个, N 查找上一个
若要取消一次搜索后的高亮,则在普通模式下输入 noh

查看命令历史:

  • 命令行模式下,:history
  • 普通模式下,q: 查看命令行历史; q/ 查看使用/输入的搜索历史; q? 查看使用?输入的搜索历史。

复制粘贴

最基本的方式:

  1. 将光标移动到要复制文本开始的地方,按 v 进入可视模式;
  2. 将光标移动到要复制文本结束的地方,按 y 复制,并自动退出可视模式;
  3. 移动光标到要粘贴的地方,按 p 进行粘贴。

删除:

1
2
3
dd     删除一行
ndd 删除以当前行开始的n行
dw 删除以当前字符开始的一个单词

复制/移动多行:

1
2
: start_line, end_line copy line
: start_line, end_line move line

撤销操作

1
2
u        撤销上一步操作
ctrl+r 恢复上一步撤销的操作

多文件操作

基础操作:vim file1 file2。 这样会把多文件加载进 buffers中,可以在命令模式中输入 buffers , 来查看当前buffers中的文件,然后输入命令切换buffer。

1
2
3
4
5
b filename或者编号
:bn 向前移动一个buffer
:bp 向后移动一个buffer
:bl 切换到最后一个buffer
:bf 切换到第一个buffer

保存所有buffer并退出: wqa

多文件同屏:

  • 水平分割: vim -o file1 file2

    buffer切换

    1
    2
    3
    Ctrl+w, j   向下切换窗口
    Ctrl+w, k 向上切换窗口
    Ctrl+w, w 向上循环切换窗口
  • 垂直分割:vim -O file1 file2

    buffer切换

    1
    2
    3
    Ctrl+w, h   向左切换窗口
    Ctrl+w, l 向右切换窗口
    Ctrl+w, w 向左循环切换窗口

vim中使用shell命令

1
:!command

插件配置

vim-plug下载:直接git clone 到 ~/.vim/autoload 就行

NERDTree还是舒服呀。

参考【插件集合】: VIM 实用插件整理 Frank的博客-CSDN博客_vim插件