linux下vim配置以及一些常用的快捷键
来源:互联网 发布:java图书管理系统教程 编辑:程序博客网 时间:2024/05/21 15:00
一些常用的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 endif104 endfunc105 "C,C++的调试106 map <F5> :call Rungdb()<CR>107 func! Rungdb()108 exec "w"109 exec "!g++ % -g -o %<"110 exec "!gdb ./%<"111 endfunc112 113 114 115 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""116 ""实用设置117 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""118 " 设置当文件被改动时自动载入119 set autoread120 " quickfix模式121 autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>122 "代码补全 123 set completeopt=preview,menu 124 "允许插件 125 filetype plugin on126 "共享剪贴板 127 set clipboard+=unnamed 128 "从不备份 129 set nobackup130 "make 运行131 :set makeprg=g++\ -Wall\ \ %132 "自动保存133 set autowrite134 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=0142 set foldmethod=indent 143 set foldlevel=3 144 set foldenable " 开始折叠145 " 不要使用vi的键盘模式,而是vim自己的146 set nocompatible147 " 语法高亮148 set syntax=on149 " 去掉输入错误的提示声音150 set noeb151 " 在处理未保存或只读文件的时候,弹出确认152 set confirm153 " 自动缩进154 set autoindent155 set cindent156 " Tab键的宽度157 set tabstop=4158 " 统一缩进为4159 set softtabstop=4160 set shiftwidth=4161 " 不要用空格代替制表符162 set noexpandtab163 " 在行和段开始处使用制表符164 set smarttab165 " 显示行号166 set number167 " 历史记录数168 set history=1000169 "禁止生成临时文件170 set nobackup171 set noswapfile172 "搜索逐字符高亮173 set hlsearch174 set incsearch175 "行内替换176 set gdefault177 "编码设置178 set enc=utf-8179 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936180 "语言设置181 set langmenu=zh_CN.UTF-8182 set helplang=cn183 " 我的状态行显示的内容(包括文件类型和解码)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=2188 " 命令行(在状态行下)的高度,默认为1,这里是2189 set cmdheight=2190 " 侦测文件类型191 filetype on192 " 载入文件类型插件193 filetype plugin on194 " 为特定文件类型载入相关缩进文件195 filetype indent on196 " 保存全局变量197 set viminfo+=!198 " 带有如下符号的单词不要被换行分割199 set iskeyword+=_,$,@,%,#,-200 " 字符间插入的像素行数目201 set linespace=0202 " 增强模式中的命令行自动完成操作203 set wildmenu204 " 使回格键(backspace)正常处理indent, eol, start等205 set backspace=2206 " 允许backspace和光标键跨越行边界207 set whichwrap+=<,>,h,l208 " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)209 set mouse=a210 set selection=exclusive211 set selectmode=mouse,key212 " 通过使用: commands命令,告诉我们文件的哪一行被改变过213 set report=0214 " 在被分割的窗口间显示空白,便于阅读215 set fillchars=vert:\ ,stl:\ ,stlnc:\216 " 高亮显示匹配的括号217 set showmatch218 " 匹配括号高亮的时间(单位是十分之一秒)219 set matchtime=1220 " 光标移动到buffer的顶部和底部时保持3行距离221 set scrolloff=3222 " 为C程序提供自动缩进223 set smartindent224 " 高亮显示普通txt文件(需要txt.vim脚本)225 au BufRead,BufNewFile * setfiletype txt226 "自动补全227 :inoremap ) <c-r>=ClosePair(')')<CR>228 ":inoremap { {<CR>}<ESC>O229 ":inoremap } <c-r>=ClosePair('}')<CR>230 :inoremap ] <c-r>=ClosePair(']')<CR>231 function! ClosePair(char)232 if getline('.')[col('.') - 1] == a:char233 return "\<Right>"234 else235 return a:char236 endif237 endfunction238 filetype plugin indent on 239 "打开文件类型检测, 加了这句才可以用智能补全240 set completeopt=longest,menu241 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""242 243 244 245 246 247 248 "NERDtee设定249 let NERDChristmasTree=1250 let NERDTreeAutoCenter=1251 let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt'252 let NERDTreeMouseMode=2253 let NERDTreeShowBookmarks=1254 let NERDTreeShowFiles=1255 let NERDTreeShowHidden=1256 let NERDTreeShowLineNumbers=1257 let NERDTreeWinPos='left'258 let NERDTreeWinSize=31259 nnoremap f :NERDTreeToggle260 map <F7> :NERDTree<CR>
- linux下vim配置以及一些常用的快捷键
- linux vim .bashrc 配置以及一些常用的linux 命令解析(下)
- linux vim .bashrc 配置以及一些常用的linux 命令解析
- linux下vim的安装以及配置
- VIM 插件以及一些常用配置
- Linux下,VI(VIM)及其常用的快捷键
- Linux下vim常用配置
- Linux下常用vim操作快捷键
- linux下的vim快捷键
- Linux下vim的一些常用知识点(待扩充)
- vim 常用快捷键配置
- Linux Vim常用快捷键
- 【Linux】vim常用快捷键
- linux vim常用快捷键
- 【Linux】vim常用快捷键
- Linux vim 常用快捷键
- 【Linux】vim常用快捷键
- Linux下安装gcc,gdb,MySQL以及vim的配置
- loj 1379(最短路变形)
- loj 1271
- hdu 1063(java写高精度)
- 编译原理实习(应用预测分析法LL(1)实现语法分析)
- linux下java环境配置
- linux下vim配置以及一些常用的快捷键
- loj 1412(树上最长直径的应用)
- loj 1377 (bfs)
- loj 1426(dfs + bfs)
- 求阶乘的位数
- java大数取模
- [LeetCode]Next Permutation
- loj1011 状态压缩
- loj 1030概率dp