Vim 编辑器之神, 非常强大的编辑器,可以不用菜单和鼠标操作,熟练掌握可以大大提高效率。
vim模式介绍
六种基本模式(前3种常用)
- 普通模式
- 插入模式
- 命令模式
- 选择模式
- 可视模式
- Ex模式
三种常用模式切换
- 普通模式下:
i
a
0
I
A
O
=> 插入模式
- 普通模式下:
:
=> 命令模式
- 插入模式下:
Esc
或Ctrl+[
=> 普通模式
移动光标
h
j
k
l
左 下 上 右
0
== ^
到行首
$
到行尾
w
下一个单词首
b
上一个单词首
e
下一个单词尾
gg
文档开头
G
文档结尾
ngg
== nG
跳转至第n行
保存文件
:w
保存
:q
退出
:q!
强制退出,不保存
:wq
保存并退出 == ZZ
:wq!
强制保存并退出
:w <filename>
另存为 == :saveas <filename>
删除(剪切)文本
x
删除光标所在字符
X
删除光标前一个字符
dd
删除一行
ndd
删除n行
dw
删除一个单词
d$
== D
删除至行尾
d0
== d^
删除至行首
dG
删除至文档结尾
dgg
删除至文档开头
重复命令
.
重复上一命令一次
n<command>
执行n次命令
复制和粘贴
yy
复制一行
nyy
复制n行
y0
== y^
复制至行首
y$
复制至行尾
yw
复制一个单词
ynw
复制n个单词
ygg
复制至行首
yG
复制至行尾
字符替换
r
替换一个字符
R
连续替换直到Esc
~
切换字符大小写
字符串替换(可用正则)
:n1,n2s/<old>/<new>/g
eg. :3,15s/^/#/g
开头加#
快速缩进
>>
<<
调整文本位置
ce
居中
le
居左
ri
居右
快速查找
/<keyword>
向后查找
?<keyword>
向前查找
n
匹配下一个单词
\*
向后查找光标所在单词
\#
向前查找光标所在单词
分屏(多窗口)操作
:new <filename>
水平分屏打开新文件
:vnew <filename>
竖直分屏打开新文件
:sp <filename>
水平分屏打开文件
:vs <filename>
竖直分屏打开文件
Ctrl+w h/j/k/l
窗口间切换
Ctrl+w H/J/K/L
移动窗口位置
Ctrl+w +/-
调整所在窗口大小
文档加密
vi -x <filename>
在vim中执行外部命令(shell)
:!<shell_command>
导入其他文件或shell命令结果
:r <filename>
:r !<shell_command>
查看帮助文档
:h
== :help
== F1
:h <command>
配置文件
个人配置文件(~/.vimrc
)
全局配置文件(/ect/vim/vimrc
)
快捷键设置
命令模式下临时生效,要永久生效需要写入配置文件
- 普通模式下的映射
map <Key> <command>
- 插入模式下的映射
imap <Key> <command>
我的配置文件
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| set nu set autoindent set mouse=a set backspace=2 set smartindent
set tabstop=4 syntax enable set t_Co=256 set background=dark colorscheme molokai
hi Normal ctermfg=252 ctermbg=none
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
map <F3> :NERDTreeToggle<CR> map <F5> :w<Enter>
map <C-up> ddkkp map <C-down> ddp map <C-S-down> yyp map <C-S-up> ddk
map <CR> A<CR><Esc>
map <C-F5> :!python3 % <CR> 在py文件中直接 Ctrl+F5 运行该文件
imap <C-h> <Left> imap <C-l> <Right> imap <C-k> <Up> imap <C-j> <Down> imap <C-b> <Backspace> imap <C-d> <Delete>
imap <F5> <ESC>:w<Enter> imap () ()<Left> imap [] []<Left> imap {} {}<Left> imap <> <><Left> imap '' ''<Left> imap "" ""<Left>
set nocompatible filetype off
set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'scrooloose/nerdtree'
Plugin 'kien/ctrlp.vim'
Plugin 'tomasr/molokai'
Plugin 'rkulla/pydiction'
Plugin 'pangloss/vim-javascript'
Plugin 'Shougo/neocomplcache.vim'
Plugin 'moll/vim-node' Plugin 'myhere/vim-nodejs-complete'
Plugin 'mattn/emmet-vim'
call vundle#end() filetype plugin indent on
filetype plugin on let g:pydiction_location = '/home/sqd/.vim/bundle/pydiction/complete-dict' let g:pydiction_menu_height = 4
autocmd User Node if &filetype == "javascript" | setlocal expandtab | endif
autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
|
1.如果本文帮到了您,不妨点一下右下角的
分享按钮.
2.您的鼓励是博主写作最大的动力,感谢您的分享和赞赏.