vim 使用备忘

启动打开会话
vi -S Session.vim

常用快捷键

gt:下一个tab
gT:上一个tab
tabs:tab列表
[#:跳到#开头
]#:跳到#结尾
50%:到文件50%处
gg:文件开头处
ctrl+F:后翻一页
ctrl+B:前翻一页
ctrl+W b: 最后,最下window
ctrl+W t: 最前,前顶window

去掉windows换行符
1. vi dosfilename
2. Press Esc
3. Enter this string: %s/^M//g  (^M = Ctrl v + Ctrl m)
4. Press enter  (the ^M cleared!)
5. :wq! (save the file)

替换命令
:1,$s/yuan /xin /g
:%s/fred/joe/igc
%相当于1,$,表示在全文件范围内,
i ”代表忽略大小写,“ g ”代表对行内所有匹配都做替换,“ c ”代 表替换前提示。

中文变乱码的解决
vimrc中加
set fileencodings=utf-8,gbk

配置文件
"set short key to edit .vimrc
let mapleader=","
map <silent> <leader>vs :source ~/.vimrc<cr>
map <silent> <leader>ve :e ~/.vimrc<cr>
autocmd! bufwritepost .vimrc source ~/.vimrc

"set path
set path=.,/usr/include,,
if filereadable("workspace.vim")
    source workspace.vim
endif

set helplang=cn            "使用中文帮助文档
set encoding=utf-8        "查看utf-8格式的帮助文档
set fileencodings=gbk,utf8    "支持打开gbk格式的文件

colorscheme evening
"colorscheme desert         "设置窗口颜色
set guifont=Bitstream/ Vera/ Sans/ Mono/ 9    "设置字体为Bitstream Vera Sans Mono 9大小
set tabstop=4            "设置tab的跳数
"set expandtab            "使用空格代替tab 在写Makefile时需要有tab
set backspace=2            "设置退格键可用
set number                "设置显示行号
set wrap                "设置自动换行
set nowrap                "设置不自动换行
set linebreak            "整词换行,与自动换行搭配使用,效果很好
set whichwrap=b,s,<,>,[,]    "光标可以从行首和行尾跳到另一行去
"set list                "显示制表符
"set listchars=tab:./ ,trail:.    "将制表符显示为'.   '
set autochdir            "自动设置当前目录为正在编辑的目录
set hidden                "自动隐藏"没有保存的缓冲区,切换buffer时不给出保存当前buffer的提示
set scrolloff=5            "在光标接近底端或顶端时,自动下滚或上滚.
set mouse=a                "在命令行启用鼠标

"========================================================================================================
"查找/替换相关的设置
"========================================================================================================
set hlsearch            "高亮显示查找结果
set incsearch            "增量查找
set gdefault            "替换时,使用g标签成为默认设置. 在替换时,替换本行所有符合的匹配
"========================================================================================================
"状态栏的设置
"========================================================================================================
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]    "显示文件名: 总行数, 总的字符数
set ruler                "在编辑过程中, 在右下角显示光标位置的状态行
"========================================================================================================
"设置C++开发环境
"========================================================================================================
syntax enable            "打开语法高亮
syntax on                "打开语法高亮
                        "在.vim/syntax/c.vim文件中设置了运算符,函数名等高亮
set showmatch            "设置匹配模式, 相当于括号匹配
set smartindent            "智能对齐
set shiftwidth=4        "换行时,交错使用4个空格
set autoindent            "设置自动对齐
set ai!                    "设置自动缩进

"--------------------------------------------------------------------------------------------------------
"代码折叠
"--------------------------------------------------------------------------------------------------------

"--------------------------------------------------------------------------------------------------------
"窗口操作的快捷键
"--------------------------------------------------------------------------------------------------------
"垂直分割当前窗口
nmap <silent> <leader>wv <C-w>v
"关闭当前窗口
nmap <silent> <leader>wc <C-w>c
"水平分割当前窗口
nmap <silent> <leader>ws <C-w>s

"--------------------------------------------------------------------------------------------------------
"插件配置
"--------------------------------------------------------------------------------------------------------

"TList
let Tlist_Show_One_File=1        "设置只显示1个文件的tag
let Tlist_Exit_OnlyWindow=1        "设置Tlist在只显示Tlist窗口时退出vim
let Tlist_Use_Right_Window=1    "设置Tlist在右侧显示
let Tlist_Sort_Type="name"        "设置按名称排序
"映射Tlist的快捷键,打开列表
nmap <silent> <leader>t :Tlist<cr>    


"NERDTree
"映射NERDTreeToggle的快捷键    "打开当前目录
nmap <silent> <leader>p :NERDTreeToggle .<cr>

"cscope
set cscopequickfix=s-,c-,d-,i-,t-,e-    "设定使用quickfix窗口来显示cscope的结果
"查找定义, <C-t>跳回
nmap <silent> <leader>sg :cs find g <C-R>=expand("<cword>")<CR><CR>
"查找调用本函数的函数
nmap <silent> <leader>sc :cs find c <C-R>=expand("<cword>")<CR><CR>
"查找本函数调用的函数
nmap <silent> <leader>sd :cs find d <C-R>=expand("<cword>")<CR><CR>
"查找本字符串
nmap <silent> <leader>st :cs find t <C-R>=expand("<cword>")<CR><CR>
"查找本egrep模式
nmap <silent> <leader>se :cs find e <C-R>=expand("<cword>")<CR><CR>
"查找包含本文件的文件
nmap <silent> <leader>si :cs find i <C-R>=expand("<cfile>")<CR>$<CR>

"映射QuickFix的快捷键
"打开quickfix窗口
nmap <silent> <F7> :cw<cr>
"前一项
nmap <silent> <F8> :cn<cr>
"后一项
nmap <silent> <F9> :cp<cr>

"映射窗口间移动快捷键
nmap <C-h> <C-w>h
nmap <C-j> <C-w>j
nmap <C-k> <C-w>k
nmap <C-l> <C-w>l


"BufTab
"list all buffer
noremap <leader>b : buffers<cr>
"使用<C-h>切换到上一个buffer
noremap <C-n> :bprev<CR>
"使用<C-l>切换到下一个buffer
noremap <C-m> :bnext<CR>
let g:buftabs_only_basename=1                            "只显示文件名,忽略路径名
set laststatus=2                                         "和下面的设置一起将buffer名显示在状态栏中
let g:buftabs_in_statusline=1

"A
"将,hc设置成头/源文件切换的快捷键,将窗口分为左右两个窗口,并打开.h/.c文件
nnoremap <silent> <leader>hc :AV<cr>
let g:alternateSearchPath = 'sfr:./,sfr:../include,sfr:../../include,sfr:../source,sfr:../src,sfr:../inc'

"设置补全
filetype plugin indent on
set completeopt=longest,menu
"let g:SuperTabRetainCompletionType=2
"let g:SuperTabDefaultCompletionType="<C-X><C-O>"

"设置Doxygen的注释
"let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------"
"let g:DoxygenToolkit_blockFooter="----------------------------------------------------------------------------"
let g:DoxygenToolkit_authorName="JZJ"
let g:DoxygenToolkit_briefTag_funcName = "yes"
map <silent> <leader>da :DoxAuthor<cr>
map <silent> <leader>df :Dox<cr>
map <silent> <leader>db :DoxBlock<cr>
map <silent> <leader>dc O/** */<Left><Left>

"set lookupfile
if filereadable("./filenametags")
    let g:LookupFile_TagExpr='"./filenametags"'
    let g:LookupFile_MinPatLength = 2                    "最少输入2个字符才开始查找
    let g:LookupFile_PreserveLastPattern = 0            "不保存上次查找的字符串    
    let g:LookupFile_PreservePatternHistory = 0        "保存查找历史
    let g:LookupFile_AlwaysAcceptFirst = 1            "回车打开第一个匹配项目
    let g:LookupFile_AllowNewFiles = 1                "不允许创建不存在的文件
    "映射LookupFile为: ,lf
    nmap <unique> <silent> <leader>lf <Plug>LookupFile<cr>
    "映射LUBufs为: ,lb
    nmap <unique> <silent> <leader>lb :LUBufs<cr>
    "映射LUWalk为: ,lw
    nmap <unique> <silent> <leader>lw :LUWalk<cr>
endif

"NERD Comment
",cc 以//方式注释选择的行
",cs 以/*方式注释选择的行

" python
"let g:pcs_hotkey = 'cs'
let g:pcs_check_when_saving = 1
map<F12> :!python % <cr>

" tab
map <silent>tf :tabfir<cr>
map <silent>tl :tabl<cr>

安装latex环境及中文环境
比较偷懒的方法是打开synaptic,搜和tetex,latex和cjk相关的东西,然后全装了。。。

下载gbkfonts,拷到/usr/bin
mkdir ~/texmf
cd ~/texmf
gbkfonts /usr/share/fonts/win_fonts/simsun.ttf song


例子:
/documentclass{article}
/usepackage{CJK}
/begin{document}
/begin{CJK}{GBK}{song}
中文
/end{CJK}
/end{document}



vim-latex安装
用vim作为latex的IDE
下载vim-latex,把文件解压到./.vim下,然后按下面网址中进行配置
http://vim-latex.sourceforge.net/index.php?subject=download&title=Download#advanced

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值