
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.您的鼓励是博主写作最大的动力,感谢您的分享和赞赏.