#debain/ubuntu WeiyiGeek# apt install vim WeiyiGeek# pkg --list | grep "vim" ii vim 2:7.4.1689-3ubuntu1.2 amd64 Vi IMproved - enhanced vi editor ii vim-common 2:7.4.1689-3ubuntu1.2 amd64 Vi IMproved - Common files ii vim-runtime 2:7.4.1689-3ubuntu1.2 all Vi IMproved - Runtime files ii vim-tiny 2:7.4.1689-3ubuntu1.2 amd64 Vi IMproved - enhanced vi editor - compact version
#示例1:外部shell参数 vim abc.txt # 打开单个文件 vim aa bb cc # 一次性创建或打开多个文件,一开始进入第一个文件命令模式中键入 :n 就依次进入其他文件 vim + abc # 定位到尾行 vim +3 abc # 定位到第三行,其他数字依次,如果超过文件最大行数,则光标定位到尾行 vim +/字符xxx abc # 定位到xxx首次出现的行,通过按N(向上),n(向下)键来回切换定位其他有xxx的行
#进入插入模式的各种方法 i #在光标的前边进入插入模式 I #在光标所在行的行首进入插入模式 a #在光标的后边进入插入模式 A #在光标所在行的行尾进入插入模式 o #在光标所在行的下方插入空行并进入插入模式 O #在光标所在行的上方插入空行并进入插入模式 s #删除光标指定的字符并进入插入模式 S #将光标所在行清除并进入插入模式
x #s删除单一字符在普通模式下跟在插入模式按下 Delete 键一样x 命令是删除光标指定的字符。
#使用删除操作符 d 的删除命令的格式是 d motion;d 是 Delete(删除)的意思,motion 即指定要删除的对象 #motion 其实是一些表示操作范围的指令,比如: 0 将光标定位到行首的位置 ^ 同上 $ 将光标定位到行尾的位置 b 将光标定位到光标所在单词的起始处 e 将光标定位到光标所在单词的结尾处 w 将光标定位到下一个单词的起始处(注意,是光标所在单词的下一个单词噢^_^) gg 将光标定位到文件的开头 G 将光标定位到文件的末尾
#将 d 命令跟它们结合 d0 | d^ #删除光标从当前位置(不包含)到该行行首的所有字符 d$ #删除从光标当前位置(包含)到该行行尾的所有字符 db #删除从光标当前位置(不包含)到单词起始处的所有字符 de #删除从光标当前位置(包含)到单词结尾处的所有字符 dw #删除从光标当前位置(包含)到下个单词起始处的所有字符 dh #删除光标前面一个字符 dl #删除光标指定的字符 dj #删除光标所在行以及下一行的所有字符 dk #删除光标所在行以及上一行的所有字符 dd #删除光标所在行的所有字符 dgg #删除光标所在行(包含)到文件开头的所有字符 dG #删除光标所在行(包含)到文件末尾的所有字符
" 常用设置 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" syntax on " 语法高显 " 编码字符集 " set encoding=utf-8 " 设定默认编码 set enc=utf-8 " set fenc=utf-8 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 set history=50 " 历史记录为50 set number " 显示行号 set cursorline " 在当前行显示一条下划线 set cursorline " 在当前行显示一条下划线 set cursorcolumn " 在当前列突出 hi CursorLine cterm=underline guibg=#00ff00 " 设置横竖的颜色 hi CursorColumn cterm=reverse ctermbg=2 guibg=#00ff00
"设置光标样式为竖线vertical bar " Change cursor shape between insert and normal mode in iTerm2.app "if $TERM_PROGRAM =~ "iTerm" let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode let &t_EI = "\<Esc>]50;CursorShape=0\x7"" Block in normal mode "endif
set nocompatible " 不要使用vi的键盘模式,而是vim自己的 set confirm " 在处理未保存或只读文件的时候,弹出确认 set clipboard+=unnamed " 与windows共享剪贴板 set showcmd " 输入的命令显示出来,看的清楚些
filetype on " 侦测文件类型 filetype plugin on " 载入文件类型插件 filetype indent on " 为特定文件类型载入相关缩进文件 set viminfo+=! " 保存全局变量 set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割
set list lcs=tab:\¦\ " 是两条设置 \后有空格 垂直对齐 " 设置配色方案 "colorscheme murphy colorscheme desert " 指定配色方案是256色 set t_Co=256 "字体 if (has("gui_running")) set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 endif " 文件设置 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set nobackup "不要备份文件(根据自己需要取舍) set autoread " 文件被改动时自动载入 "不要生成swap文件当buffer被丢弃的时候隐藏它 setlocal noswapfile set bufhidden=hide
set linespace=0 " 字符间插入的像素行数目 set wildmenu " 增强模式中的命令行自动完成操作
" 在状态行上显示光标所在位置的行号和列号 set ruler set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%) " 去掉有关vi一致性模式,避免以前版本的一些bug和局限,解决backspace不能使用的问题 set nocompatible set backspace=indent,eol,start set backspace=2 " 使回格键(backspace)正常处理indent, eol, start等 set cmdheight=2 " 命令行(在状态行下)的高度,默认为1,这里是2 set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界 " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位) set mouse=a " 鼠标可用 set selection=exclusive set selectmode=mouse,key set shortmess=atI " 启动的时候不显示那个援助索马里儿童的提示 set report=0 " 通过使用: commands命令,告诉我们文件的哪一行被改变过 set noerrorbells " 不让vim发出讨厌的滴滴声 set fillchars=vert:\ ,stl:\ ,stlnc:\ " 在被分割的窗口间显示空白,便于阅读 " 搜索和匹配 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set laststatus=2 " 总是显示状态行 set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 set showmatch " 高亮显示匹配的括号 set matchtime=5 " 匹配括号高亮的时间(单位是十分之一秒) set ignorecase " 在搜索的时候忽略大小写
set nohlsearch " 不要高亮被搜索的句子(phrases) set incsearch " 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$ " 输入:set list命令是应该显示些啥? set novisualbell " 不要闪烁
" 文本格式和排版 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set foldenable " 用空格键来开关折叠 set foldmethod=manual " 手动折叠 nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR> set formatoptions=tcrqn " 自动格式化 set fdm=indent " 打开折叠功能 , zo打开/zc关闭折叠 set autoindent " 继承前一行的缩进方式,特别适用于多行注释 set smartindent " 为C程序提供自动缩进 set cindent " 使用C样式的缩进 set completeopt=longest,menu " 统一缩进为4 set softtabstop=4 set shiftwidth=4 " 设置显示制表符的空格字符个数,改进tab缩进值,默认为8,现改为4 set tabstop=4 "set expandtab 用空格代替tab set noexpandtab " 不要用空格代替制表符 set nowrap " 不要换行 set smarttab " 在行和段开始处使用制表符 " 设置帮助文件为中文(需要安装vimcdoc文档) set helplang=cn
" CTags的设定 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let Tlist_Sort_Type = "name"" 按照名称排序 let Tlist_Use_Right_Window = 1 " 在右侧显示窗口 let Tlist_Compart_Format = 1 " 压缩方式 let Tlist_Exist_OnlyWindow = 1 " 如果只有一个buffer,kill窗口也kill掉buffer let Tlist_File_Fold_Auto_Close = 0 " 不要关闭其他文件的tags let Tlist_Enable_Fold_Column = 0 " 不要显示折叠树
编程开发环境
vim编程语句自动补齐配置 描述:在vim中不但可以使用ctrl + x + l 与 ctrl + x + f 进行文档和路径的自动补齐,还能补齐其他的一些编程语言,但是需要额外的关键词的包;
#在新建java 文件时自动运行gnp 命令将新java 文件中的__date__ 替换成今天的日期 autocmd BufNewFile *.java normal gnp
#对于所有文本条件,将textwidth设置为71(也可设置为其他比如 set number 当类型为文本的时候自动打开) autocmd FileType txt setlocal textwidth=71 autocmd FileType sh setlocal sw=4 | setlocal sta #对于shell脚本的设置
方式1.请访问本博主的B站【WeiyiGeek】首页关注UP主, 将自动随机获取解锁验证码。
Method 2.Please visit 【My Twitter】. There is an article verification code in the homepage.
方式3.扫一扫下方二维码,关注本站官方公众号
回复:验证码
将获取解锁(有效期7天)本站所有技术文章哟!