gvim old_vimrc

vimrc

map/imap/inoremap/nmap

map:在命令模式下有效
imap:在插入模式有效
inoremap:在插入模式有效,nore表示不递归no recursion:例如:inoremap Y y和inoremap y Y并不会出现无限循环

nmap:命令模式下生效,normal map。

" 命令映射
map <c-z> u             用ctrl+z的快捷键表示u,都可以用于回退
imap <c-z> <ESC>u<CR>i      在插入模式下使用ctrl-z也可以表示u的功能
map <c-y> <c-r>
imap <c-y> <ESC><c-r><CR>i    撤销撤回
map <c-c> y
imap <c-c> <ESC>y<CR>i        ctrl+c表示复制
map <c-s> :w! <CR>        
imap <c-s> <ESC>:w!<CR>i     ctrl+s保存
nmap sc :source ~/.vimrc<CR>  不需要输入“:”就可以使命令生效,直接在视图状态下就输入sc就相当于source了vimrc
nmap <C-a> <ESC>ggvG<END><CR>  全选
inoremap <C-a> <ESC>ggvG<END><CR>i
" 自动补全
inoremap <s-p> <C-x><C-n>       英文单词自动补全
inoremap ( ()<ESC>i         补全括号,不推荐使用
inoremap ) <c-r>=ClosePair(')')  补全括号
inoremap { {}<ESC>i         补全括号
inoremap } <c-r>=ClosePair('}')  补全括号
" 注释
nmap <S-I> 0i//<ESC>:w!<CR>    shift+insert注释一行
nmap <S-D> 0xx            shift+delet去除一行的注释
vmap <S-I> I//<ESC>          在行选择模式下shift+insert注释多行
vmap <S-D> xx<ESC>

" 去空格
nnoremap <F2> :g/^\s*$/d<CR>

" 列出当前目录
map <F2> :tabnew . <CR>
nmap <F2> :NERDTreeToggle<CR> 这个需要安装插件

" 键表 |key-notation| 
<k0> - <k9> 小键盘 0 到 9 *keypad-0* *keypad-9* 
<S-...> Shift+键 *shift* *<S-* 
<C-...> Control+键 *control* *ctrl* *<C-* 
<M-...> Alt+键 或 meta+键 *meta* *alt* *<M-* 
<A-...> 同 <m-...> *<A-* 
<t_xx> termcap 里的 "xx" 入口键 

杂项1

set tabstop=4                  " tab占4个空格大小
set expandtab                  " tab转换成空格
set number                     " 文件显示行数
set ruler                      " Vim窗口的右下角显示光标的行列信息
set showcmd                    " Vim窗口的右下角显示一个完整的命令已经完成的部分
set autoindent                 " 自动缩进
set hlsearch                   " 高亮显示
set syntax on                  " 显示语法
set ignorecase                 " 在搜索时忽略大小写
set backspace=indent,eol,start " 在Insert模式,支持backspace键

杂项2

:set pastetoggle=<F9>    "解决在Vim中粘贴代码后,缩进就全乱了
:set mouse=v             "鼠标选择 运用系统粘贴版
:set virtualedit=onemore "允许光标移动到刚刚超过行尾的位置
:set tabstop=4           "设定制表符宽度
:set shiftwidth=4        "设置缩进宽度
set ai                   " 自动缩进
syntax on                " 自动语法高亮
set cursorline           " 突出显示当前行
set ruler                " 打开状态栏标尺
set softtabstop=4        " 使得按退格键时可以一次删掉 4 个空格
set nobackup             " 覆盖文件时不备份
set autochdir            " 自动切换当前目录为当前文件所在的目录
set backupcopy=yes       " 设置备份时的行为为覆盖
set showmatch            " 插入括号时,短暂地跳转到匹配的对应括号
set matchtime=2          " 短暂跳转到匹配括号的时间
set magic                " 设置魔术
set hidden               " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存

set guioptions-=T        " 隐藏工具栏
set guioptions-=m        " 隐藏菜单栏
set smartindent          " 开启新行时使用智能自动缩进
set backspace=indent,eol,start
" 不设定在插入状态无法用退格键和 Delete 键删除回车符
set cmdheight=1  " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\     " 设置在状态行显示的信息

set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nu

 

"打开文件后光标自动跳到上次关闭文件的位置
autocmd BufReadPost *
                \ if line("'\"")>0&&line("'\"")<=line("$") |
                \   exe "normal g'\"" |
                \ endif
 
" 十字光标
set cursorline
hi cursorline guibg=#0080E6
hi cursorline guibd=#A080E6
set cursorcolumn

tab相关

set expendtab      " 用空格替代tab,也可以用:set extab
set tabstop = 4    " 设置tab包含几个字符,也可以使用:set ts = 4
set shiftwidth = 4 " 设置智能缩进的缩进数
set autoindent     " 自动缩进 :set ai
set smartindent    " 智能缩进  : set si,对齐整数个tab来缩进
set et             " 与set expendtab,set extab一样用空格代替tab
set et!            " 取消用空格代替tab,在写makefile文件的时候需要这个设置。

设置语法高亮

syntax on
au BufNewFile,BufRead *.{c,h,cpp} setf c
au BufNewFile,BufRead *.sv set filetype=systemverilog

搜索高亮设置

set hlsearch                                  " 开启搜索高亮,set nohlsearch可以关闭
hi   Search term=standout ctermfg=0 ctermbg=3 " 设置高亮的颜色 命令模式输入hi 可以查看有哪些可以设置。

设置leader键

let maplead = ","
let g:mapleader = ","
" 这样<leader>就可以与其他字母组成命令,比如nmap <leader>ab xxxx

快速插入一段代码(iab)

iab al  <ESC>:read ~/v_demo/always.v<CR>i
" 将~/v_demo/always.v文件中的内容插入

设置界面颜色

let g:solarized_bold=0
let g:solarized_italic=0
let g:solarized_termcolors=256
let g:solarized_contrast="high"
let g:solarized_visibility="high"
let g:solarized_hitrail=1
syntax enable
set background=dark
colorscheme solarized

参考链接

设置不区分大小写

:set ignorease

滑动条

:set guioptions+=b  " 显示下边的滑动条
:set guioptions-=r  " 关闭右侧的滑动条

跳来跳去的ctags

  1. 安装
    sudo apt-get install ctags
  2. 使用
    2.1 将安装的ctags的路径添加到bashrc的path中,安装完应该默认就加入了
    2.2 产生需要跳转文件的索引文件:ctag -f filename -R dir,filename是要产生索引文件的名字,dir是要去检索的文件夹,-R选项就会递归检索。
    2.3 将产生的索引文件加入到vimrc的tags变量中:set tags+=索引文件路径
    2.4 ctrl+]跳转到要查找变量的定义位置,ctrl+6跳回来。

minibufexplorer

下载地址: [http://www.vim.org/scripts/script.php?script_id=159]
版本 : 6.3.2
安装 : 将下载的 minibufexpl.vim文件丢到 ~/.vim/plugin 文件夹中即可
手册 : 在minibufexpl.vim 文件的头部

设置gvim打开窗口的大小和在屏幕中的位置

set lines = 62         " 设置列数
set columns = 192      " 设置行数
winpos 160 0           " 设置在窗口中的位置。

杂项3

set number
set ts=4
map <c-s> :w!<CR>
imap <c-s> <ESC> :w!<CR>i
map <c-c> y
imap <c-c> <ESC>y<CR>i
map <c-z> u
imap <c-z> <ESC>u<CR>i
map <c-y> <c-r>
imap <c-y> <ESC><c-r><CR>i
nmap <C-a> <ESC>ggvG<END><CR>
inoremap <C-a> <ESC>ggvG<END><CR>i

set cursorline
hi cursorline guibg=#0080E6
set cursorcolumn
let g:solarized_bold=0
let g:solarized_italic=0
let g:solarized_termcolors=256
let g:solarized_contrast="high"
let g:solarized_visibility="high"
let g:solarized_hitrail=1
syntax enable
set background=dark
colorscheme industry
set guioptions-=T
set guioptions-=m
set smartindent 
set cursorline
:set shiftwidth=4
set ai 
set softtabstop=4
posted @ 2023-09-11 09:54  下夕阳  阅读(41)  评论(0编辑  收藏  举报