美文网首页
vim 基本知识点

vim 基本知识点

作者: 弓长晓 | 来源:发表于2020-03-16 21:26 被阅读0次

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。来源:百度百科

01安装

#安装
sudo apt-get install vim-gtk
#查看安装信息
vim --version
#vim插件apt-vim管理:
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
#安装YouCompleteMe#自动补全工具
apt-vim install -y https://github.com/Valloric/YouCompleteMe.git
#算了大锅乱炖吧  
sudo apt-get install python-twisted xclip vim-gnome astyle python-setuptools

02配置

syntax on"语法高亮
set mouse=a  " always use mouse  
 
set number"显示行号
"自动缩进与C语言风格缩进
set autoindent
set cindent
 
"缩进宽度
set tabstop=4
set softtabstop=4
set shiftwidth=4
"switch case 对齐风格
set cino=g0,:0
 
"Tagbar
let g:tagbar_width=35    "宽度
let g:tagbar_ctags_bin='/usr/bin/ctags'  "设置tagbar使用的ctags的插件
let g:tagbar_right=1    "位置在右侧
let g:tagbar_autofocus=0    "是否自动聚焦 
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() "打开文件自动打开tagbar   
nmap <F6> :TagbarToggle<CR>    "快捷键
" NERD tree
let NERDChristmasTree=0
let NERDTreeWinSize=35
let NERDTreeChDirMode=2
let NERDTreeIgnore=['\~$']
let NERDTreeShowBookmarks=1
let NERDTreeWinPos="left"
" Automatically open a NERDTree if no files where specified
autocmd vimenter * if !argc() | NERDTree | endif
" Close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" Open a NERDTree
nmap <F5> :NERDTreeToggle<cr>
"YouCompleteMe
"自动开启语义补全
let g:ycm_seed_identifiers_with_syntax = 1
"在注释中也开启补全
let g:ycm_complete_in_comments = 1
let g:ycm_collect_identifiers_from_comments_and_strings = 0
"字符串中也开启补全
let g:ycm_complete_in_strings = 1
let g:ycm_collect_identifiers_from_tags_files = 1
"开启基于tag的补全,可以在这之后添加需要的标签路径  
let g:ycm_collect_identifiers_from_tags_files = 1
"开始补全的字符数
let g:ycm_min_num_of_chars_for_completion = 2
"补全后自动关闭预览窗口
let g:ycm_autoclose_preview_window_after_completion = 1
"禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_cache_omnifunc=0
"离开插入模式后自动关闭预览窗口
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
"语法关键字补全
let g:ycm_seed_identifiers_with_syntax = 1  
"在实现和声明之间跳转,并分屏打开
let g:ycm_goto_buffer_command = 'horizontal-split'
nnoremap <Leader>g :YcmCompleter GoTo<CR>
 
execute pathogen#infect()
call pathogen#helptags

常用配置
:set number 显示行号
:set nonumber 取消行号
:set numberwidth=3 设置行号列宽
:set hlsearch 高亮显示搜索内容
:set incsearch 输入关键字的时候高亮显示
:set ignorecase 搜索时忽略大小写
:set wrapscan 循环搜索(默认值)
:set nowrapscan 只搜索一次
:set showmatch 在输入右括号时,短暂地跳到对应括号处
:set matchtime=10 跳转时间,单位:十分之一秒
:set cursorcolumn 高亮光标所在列
:set nocursorcolumn 取消高亮光标所在列
:set cursorline 高亮光标所在行
:set nocursorline 取消高亮光标所在行
:set wrap 自动换行
:set nowrap 取消自动换行
:set autoindent 保持上一行的缩进
:set shiftwidth=4 设置缩进单位
:set ruler 在右下角显示光标位置
:set noruler 不显示光标位置
:set scrolloff=3 使光标始终和上下边缘相距3行
:set list 设置制表符可见
:set autochdir 将当前目录自动切换为文件所在目录
:set scrollbind 设置多窗口同步滚动
:set noscrollbind 取消多窗口同步滚动
:set autoread 如果文件被修改,自动读入,该项可能会不起作用
:set backspace=indent,eol,start 在Insert模式可以删除行首的空格、断行、进入Insert模式之前的位置
:set readonly 设置只读,该项写在配置文件中可能不起作用,在编辑时有效
:set fileformat? 显示当前的文件格式
:set nomodifiable 设置不可修改
:syntax on 打开语法高亮
:syntax off 取消语法高亮
:filetype on 自动识别文件类型
:colorscheme desert 选择颜色方案
资料出处

03 文件命令

命令 操作
vim file 打开文件
vim file1,file2,file3 同时打开多个文件
:open file 在新窗口中打开文件
:bn 切换到上一个文件
:bp 切换到下一个文件
:args 查看当前打开的文件列表
:w filename 保存到filename
:#,# w filename 保存部分文件内容#~#之间
:r filename 向当前插入其他文件的内容
:q! 不保存退出
:wq 保存并退出
:e! 放弃所有修改退出

05 移动命令

命令 操作
h/j/k/l 向⬅️/⬇️/⬆️/➡️移动
w/b 下一个/上一个单词开头
e/ge 下一个/上一个单词结尾
W/B 和w/b相同,但跳过符号
0 本行第一个字符上
^ 本行第一个非空白字符
$ 行尾
% 查找匹配的括号
{/} 上一段/下一段
gg 文件头部
G 文件结尾
:line 到第line行
C-d/C-u 向下/向上滚到半屏
C-f/C-b 向下/向上滚到一屏

06编辑命令

命令 操作
i/a 当前位置之前/之后插入
I/A 当前行行首/行尾插入
o/O 当前行之后/之前插入一行
s/old/new old替换new,只替换一个
[%/#,#]s/old/new/g old替换new,替换当前行所有,%是全文,#,#是指两行之间
x 删除当前字符
X 删除当前字符的前一个字符
dl/dh =x/X
dd/dj/dk 删除当前行/上一行/下一行
yy 拷贝当 前行
p/P 在当前行后/前粘贴
v选择后+y 可视模式选择后复制
:1,10 co 20 1到10行拷贝到20行之后
:1,10 m 20 1到10行移动到20行之后
</> 缩进/反缩进
C-n/C-p 在编辑模式下自动补齐

07 查找命令

命令 操作
/text 正向查找text,n下一个,N上一个
?text 反向查找text,n下一个,N上一个
*/# 对当前词正向/反向查找
fx 向后搜索x
:set ignorecase 忽视大小写
:set hlsearch 高亮搜索
:set incsearch 逐步搜索,对当前输入的进行搜索
:set noxxxx xxxx对应以上操作,指取消选项
:set wrapscan 重新搜索

08 窗口命令

命令 操作
new/split/vsplit 打开一个新窗口,最后一个水平
C-w+方向 移动到指定窗口
:close/q 关闭窗口,如果只有个一个窗口,q会退出vim

09控制命令

命令 操作
u 撤销最后执行的命令
U 修正整行
C-r Redo命令
C-g 显示光标所在行位置及文件状态信息
. 重复上一次命令
v 可视化模式
C-v 可视化块模式

出处

相关文章

  • vim 基本知识点

    Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软...

  • 4.娟娟 - vim

    参考: 知识点: vim

  • Vim速成 - 第1节 Vim基础操作

    第1节 Vim的基本操作 本节将介绍Vim的基本操作。 下图列出了在Vim中进行基本的光标移动及文字编辑等操作。 ...

  • VIM 知识整理

    VIM是vi的加强版,最近开发环境转到VIM了,所以有必要复习VIM的相关知识点。 VIM有三种模式:一般模式,编...

  • linux

    vim 基本操作 一、 vimrc基本设置

  • vim教程

    参考简明 VIM 练级攻略Vim 快捷键 & 基本命令

  • vim基础操作

    vim: filetype=markdown vi / vim 基本操作 vi/vim 共分为三种模式:分别是命令...

  • 2020-05-29 玩转VIM:从入门到入坑

    玩转VIM 1.Vim编辑 1.1 Vim模式和基本操作 1.1.1 Command模式 (1)分屏::vs(ve...

  • Linux文件编辑-vim

    1.vim基本概述 1.什么是VIM? 2.为什么要使用VIM? 3.VI与VIM有什么区别? vi和vim都是文...

  • vim编辑器-vim基本命令

    相关文章:vin命令大全 vim基本命令 本文来源 vim在命令行中输入vim,进入vim编辑器 i/insert...

网友评论

      本文标题:vim 基本知识点

      本文链接:https://www.haomeiwen.com/subject/yhvnehtx.html