一些常用的vim编辑器快捷键:

h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按「ctrl」+「b」:屏幕往“后”移动一页。

按「ctrl」+「f」:屏幕往“前”移动一页。

按「ctrl」+「u」:屏幕往“后”移动半页。

按「ctrl」+「d」:屏幕往“前”移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的“行尾”。

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

「x」:每按一次,删除当前字符。

「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

「dd」:删除光标所在行,并用下一行进行填充。

「#dd」:从光标所在行开始删除#行。

「#G」:「15G」,表示移动光标至文章的第15行行首。

「w」:在冒号输入字母「w」就可以将文件保存起来。

「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vim。

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

ZZ 立即保存文件并退出。

p 粘贴

u 撤销一次

ctrl+r 反撤销一次

多窗口功能:在命令行模式下输入:sp,这样两个文件就可以同时在一个屏幕上显示,然后先按下ctrl + w,然后放开所有按键后,再按下向下箭头键或者向上箭头键就可以进行窗口的选择了,如果要关闭一个窗口,直接 : q 即可。

我的vimrc文件:

  1 map <F9> :call SaveInputData()<CR>
2 func! SaveInputData()
3 exec "tabnew"
4 exec 'normal "+gP'
5 exec "w! /tmp/input_data"
6 endfunc
7
8
9
10
11 "colorscheme torte
12 "colorscheme murphy
13 "colorscheme desert
14 "colorscheme desert
15 "colorscheme elflord
16 colorscheme ron
17
18
19
20
21 "set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
22 "set termencoding=utf-8
23 "set encoding=utf-8
24 "set fileencodings=ucs-bom,utf-8,cp936
25 "set fileencoding=utf-8
26
27 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
28 " 显示相关
29 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
30 "set shortmess=atI " 启动的时候不显示那个援助乌干达儿童的提示
31 "winpos 5 5 " 设定窗口位置
32 "set lines=40 columns=155 " 设定窗口大小
33 set go= " 不要图形按钮
34 "color asmanian2 " 设置背景主题
35 "set guifont=Courier_New:h10:cANSI " 设置字体
36 "syntax on " 语法高亮
37 autocmd InsertLeave * se nocul " 用浅色高亮当前行
38 autocmd InsertEnter * se cul " 用浅色高亮当前行
39 "set ruler " 显示标尺
40 set showcmd " 输入的命令显示出来,看的清楚些
41 "set cmdheight=1 " 命令行(在状态行下)的高度,设置为1
42 "set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界(不建议)
43 "set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离
44 set novisualbell " 不要闪烁(不明白)
45 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容
46 set laststatus=1 " 启动显示状态行(1),总是显示状态行(2)
47 set foldenable " 允许折叠
48 set foldmethod=manual " 手动折叠
49 "set background=dark "背景使用黑色
50 set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
51 " 显示中文帮助
52 if version >= 603
53 set helplang=cn
54 set encoding=utf-8
55 endif
56 " 设置配色方案
57 "colorscheme murphy
58 "字体
59 "if (has("gui_running"))
60 " set guifont=Bitstream\ Vera\ Sans\ Mono\ 11
61 "endif
62 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
63 "键盘命令
64 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
65
66 nmap <leader>w :w!<cr>
67 nmap <leader>f :find<cr>
68
69 " 映射全选+复制 ctrl+a
70 map <C-A> ggVGY
71 map! <C-A> <Esc>ggVGY
72 map <F12> gg=G
73 " 选中状态下 Ctrl+c 复制
74 vmap <C-c> "+y
75 "去空行
76 nnoremap <F2> :g/^\s*$/d<CR>
77 "比较文件
78 nnoremap <C-F2> :vert diffsplit
79 "新建标签
80 map <M-F2> :tabnew<CR>
81 "列出当前目录文件
82 map <F3> :tabnew .<CR>
83 "打开树状文件目录
84 map <C-F3> \be
85 "C,C++ 按F7编译运行
86 map <F7> :call CompileRunGcc()<CR>
87 func! CompileRunGcc()
88 exec "w"
89 if &filetype == 'c'
90 exec "!g++ % -o %<"
91 exec "! ./%<"
92 elseif &filetype == 'cpp'
93 exec "!g++ % -o %<"
94 exec "! ./%<"
95 elseif &filetype == 'java'
96 exec "!javac %"
97 exec "!java %<"
98 elseif &filetype == 'sh'
99 :!./%
100 elseif &filetype == 'py'
101 exec "!python %"
102 exec "!python %<"
103 endif
104 endfunc
105 "C,C++的调试
106 map <F5> :call Rungdb()<CR>
107 func! Rungdb()
108 exec "w"
109 exec "!g++ % -g -o %<"
110 exec "!gdb ./%<"
111 endfunc
112
113
114
115 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
116 ""实用设置
117 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
118 " 设置当文件被改动时自动载入
119 set autoread
120 " quickfix模式
121 autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
122 "代码补全
123 set completeopt=preview,menu
124 "允许插件
125 filetype plugin on
126 "共享剪贴板
127 set clipboard+=unnamed
128 "从不备份
129 set nobackup
130 "make 运行
131 :set makeprg=g++\ -Wall\ \ %
132 "自动保存
133 set autowrite
134 set ruler " 打开状态栏标尺
135 set cursorline " 突出显示当前行
136 set magic " 设置魔术
137 set guioptions-=T " 隐藏工具栏
138 set guioptions-=m " 隐藏菜单栏
139 "set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
140 " 设置在状态行显示的信息
141 set foldcolumn=0
142 set foldmethod=indent
143 set foldlevel=3
144 set foldenable " 开始折叠
145 " 不要使用vi的键盘模式,而是vim自己的
146 set nocompatible
147 " 语法高亮
148 set syntax=on
149 " 去掉输入错误的提示声音
150 set noeb
151 " 在处理未保存或只读文件的时候,弹出确认
152 set confirm
153 " 自动缩进
154 set autoindent
155 set cindent
156 " Tab键的宽度
157 set tabstop=4
158 " 统一缩进为4
159 set softtabstop=4
160 set shiftwidth=4
161 " 不要用空格代替制表符
162 set noexpandtab
163 " 在行和段开始处使用制表符
164 set smarttab
165 " 显示行号
166 set number
167 " 历史记录数
168 set history=1000
169 "禁止生成临时文件
170 set nobackup
171 set noswapfile
172 "搜索逐字符高亮
173 set hlsearch
174 set incsearch
175 "行内替换
176 set gdefault
177 "编码设置
178 set enc=utf-8
179 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
180 "语言设置
181 set langmenu=zh_CN.UTF-8
182 set helplang=cn
183 " 我的状态行显示的内容(包括文件类型和解码)
184 "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
185 "set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
186 " 总是显示状态行
187 set laststatus=2
188 " 命令行(在状态行下)的高度,默认为1,这里是2
189 set cmdheight=2
190 " 侦测文件类型
191 filetype on
192 " 载入文件类型插件
193 filetype plugin on
194 " 为特定文件类型载入相关缩进文件
195 filetype indent on
196 " 保存全局变量
197 set viminfo+=!
198 " 带有如下符号的单词不要被换行分割
199 set iskeyword+=_,$,@,%,#,-
200 " 字符间插入的像素行数目
201 set linespace=0
202 " 增强模式中的命令行自动完成操作
203 set wildmenu
204 " 使回格键(backspace)正常处理indent, eol, start等
205 set backspace=2
206 " 允许backspace和光标键跨越行边界
207 set whichwrap+=<,>,h,l
208 " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
209 set mouse=a
210 set selection=exclusive
211 set selectmode=mouse,key
212 " 通过使用: commands命令,告诉我们文件的哪一行被改变过
213 set report=0
214 " 在被分割的窗口间显示空白,便于阅读
215 set fillchars=vert:\ ,stl:\ ,stlnc:\
216 " 高亮显示匹配的括号
217 set showmatch
218 " 匹配括号高亮的时间(单位是十分之一秒)
219 set matchtime=1
220 " 光标移动到buffer的顶部和底部时保持3行距离
221 set scrolloff=3
222 " 为C程序提供自动缩进
223 set smartindent
224 " 高亮显示普通txt文件(需要txt.vim脚本)
225 au BufRead,BufNewFile * setfiletype txt
226 "自动补全
227 :inoremap ) <c-r>=ClosePair(')')<CR>
228 ":inoremap { {<CR>}<ESC>O
229 ":inoremap } <c-r>=ClosePair('}')<CR>
230 :inoremap ] <c-r>=ClosePair(']')<CR>
231 function! ClosePair(char)
232 if getline('.')[col('.') - 1] == a:char
233 return "\<Right>"
234 else
235 return a:char
236 endif
237 endfunction
238 filetype plugin indent on
239 "打开文件类型检测, 加了这句才可以用智能补全
240 set completeopt=longest,menu
241 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
242
243
244
245
246
247
248 "NERDtee设定
249 let NERDChristmasTree=1
250 let NERDTreeAutoCenter=1
251 let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt'
252 let NERDTreeMouseMode=2
253 let NERDTreeShowBookmarks=1
254 let NERDTreeShowFiles=1
255 let NERDTreeShowHidden=1
256 let NERDTreeShowLineNumbers=1
257 let NERDTreeWinPos='left'
258 let NERDTreeWinSize=31
259 nnoremap f :NERDTreeToggle
260 map <F7> :NERDTree<CR>

更多相关文章

  1. linux系统更改目录和文件的权限总结
  2. CentOS7.2 通过nfs设置共享文件夹
  3. linux下查找包含关键字的文件
  4. Linux系统下Tar文件安装方法
  5. Linux学习笔记(九)--RedHat 7.0之用户身份与文件权限、存储结构与
  6. 在Linux用tar归档压缩文件时忽略某些文件和目录
  7. 如何查找特定用户可执行的所有文件(不是最新的)
  8. 使用/proc/meminfo文件查看内存状态信息
  9. linux下socket通信常用的结构与头文件

随机推荐

  1. 攻克PMP的心得
  2. (修订版)AJAX入门!
  3. 什么是TensorBoard?
  4. 【极简版】SpringBoot+SpringData JPA 管
  5. 花了一天整理了一些我常用的工具
  6. Mybatis从浅入深-Plus(IDEA版通俗易懂)
  7. Rancher首席架构师解读Fleet:它何以管理百
  8. AJAX常见面试题(修订版)
  9. Python Django框架是什么?Python学习入门
  10. 【JavaWeb基础】JDBC用户登录注册(修订版