微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MAC进阶:Vim

vim

通俗地讲,vim启动时将.vim文件内的东西 加载进其运行环境,然后执行.vimrc文件内的命令。

iterm到vim的光标形状一系列问题

上的帖子。讲了(国内资料都没有,有必要学会用英文叙述自己的问题)

里面最后是靠它好使了

常用快捷键

  1. 是撤销。U 是一次性撤销对该一行的操作。 ctrl-r 是 redo,一般翻译成“重做”。就是撤销“撤销”本身。

map 递归
noremap 不递归

既然前缀键是为快捷键服务的,那随便说下快捷键设定原则:不同快捷键尽量不要有同序的相同字符。比如,e 执行操作 0 和 eb 执行操作 1,在你键入 e 后,vim 不会立即执行操作 0,而是继续等待用户键入 b,即便你只想键入 e,vim 也不得不花时间等待输入以确认是哪个快捷键,显然,这让 e 响应速度变慢。ea 和 eb 就没问题。

C: 将根路径设置为光标所在的目录
u: 设置上级目录为根路径
I: 显示或者不显示隐藏文件

调用查找
刷新,在当前目录下重建缓存
文件
,搜索列表中上下移动

vim以前的配置

"按“\l”显示每句末尾(即”$“)
nmap l :set list!

let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
let g:ycm_confirm_extra_conf = 0
let g:ycm_error_symbol = '>>'
let g:ycm_warning_symbol = '>*'
nnoremap gl :YcmCompleter GoToDeclaration
nnoremap gf :YcmCompleter GoToDeFinition
nnoremap gg :YcmCompleter GoToDeFinitionElseDeclaration
" 用 CTRL-O 和 CTRL-I 命令,你可以跳回到较早前的跳转位置,然后在跳回来

" Run commands that require an interactive shell
nnoremap r :RunInInteractiveShell

set rtp+=~/.vim/bundle/vundle
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
" The bundles you install will be listed here
" Define bundles via Github repos
Bundle 'Valloric/YouCompleteMe'
Bundle "scrooloose/nerdtree"
Bundle "bling/vim-airline"
Bundle "vim-scripts/restore_view.vim"
Bundle 'nvie/vim-Flake8'
filetype plugin indent on " required

let g:airline_colorscheme='solarized'
"这个是安装字体后 必须设置此项"
let g:airline_powerline_fonts = 1
"打开tabline功能,方便查看Buffer和切换,这个功能比较不错"
"我还省去了minibufexpl插件,因为我习惯在1个Tab下用多个buffer"
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#buffer_nr_show = 1
"设置切换Buffer快捷键"
"命令ls 可查看当前已打开的buffer 命令b num 可切换buffer
nnoremap :bn
nnoremap :bp

" 编译和运行C
"< F5> 编译和运行C++
" 运行python程序
map :call CompileRun()
func! CompileRun()
exec "w"
if &filetype=='c'
exec "!clang % -o %<"
exec "! ./%<"
elseif &filetype=='cpp'
exec "!clang++ % -o %< -std=c++11 -stdlib=libc++ -Weverything"
exec "! ./%<"
elseif &filetype=='python'
exec "!python %"
elseif &filetype=='javascript'
exec "!node %"
endif
endfunc

" gdb调试
map :call Debug()
func! Debug()
exec "w"
if &filetype == 'c'
exec "!rm %<"
exec "!clang -g % -o %<"
exec "!lldb %<"
elseif &filetype == 'cpp'
exec "!rm %<"
exec "!clang++ -g -std=c++11 -stdlib=libc++ -Weverything % -o %<"
exec "!lldb %<"
endif
endfunc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐