zoukankan      html  css  js  c++  java
  • vim配置备份及tips

    terminal有新建窗口、在窗口间切换、分割窗口、全屏显示、调整大小快捷键;

    shift+F10开启terminal菜单;

    shift+Prtsc 截取部分区域保存至Pictures;

    shift+insert 可以从系统复制到terminal,分割窗口可以从一个文件复制到另一个文件;

    mkdir 新建文件夹,rm -d 删除文件夹,touch 新建文件,rm -f 删除文件;

    重命名文件:mv oldname  newname;

    重定义路径:mv oldname  /*/*/newname;

    :reg 查看寄存器内容,安装gnome才能看见 + 寄存器;

    复制粘贴的时候选定,然后 “+y 就可以了,不要加冒号

    vim中有很强大的 map 键盘映射功能;

    按 v 进入visual模式,C-v 进入 visual block 模式,shift-v 进入 visual line 模式;

    vim的命令默认不显示,配置中 set showcmd 会在最下一行显示;

    编辑高亮显示时首先需要开启高亮,set corsorline;

    set backspace=2 重启后就可以让backspace键在insert模式下删除了;

    set list 显示tab、回车键;

    set expandtab 将tab换成空格,以免格式错误;

    gg=G 或  n==  (从当前行往下的n行)整理格式;

    mac下可能需要新建 .vimrc 配置文件;

    设置里点击要禁用的快捷键,按键盘“Backspace”键,就可以禁用了;

    vim配置里设置映射无效,需要安装vim-gnome,卸载vim-tiny;

     esc键太难按了,可以用 Ctrl + [ 代替

     normal模式下按%,可以跳到匹配括号处

    ((, )), [[, ]], {{, }} 都可以跳转

    set wildmenu 能帮你在命令行补全函数,带你走进补全的文明时代。但是要求laststus >= 2

    set 后跟一个变量,再跟一个 ?可以查看变量的值 e.g. se ls? 输出laststatus=1

    se cuc ( set cursorcolum) 有一个垂直的竖杠,帮看你的python代码有没有单行超过79字符

    :Sex (嫑鄙视我 - -)在当前terminal查看当前文件夹,进行编辑或跳转



    作者:Charles Wu
    链接:https://www.zhihu.com/question/27478597/answer/36897603
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    vim真是太强了!

     vim配置备份:

     1 set showcmd  "默认
     2 set nowrap
     3 “set mouse=a
     4 set ruler            "默认
     5 set completeopt=preview,menu
     6 set novisualbell
     7 set matchtime=1
     8 set fillchars=vert: ,stl: ,stlnc:
     9 set clipboard+=unnamed 
    10 :set makeprg=g++ -Wall  %
    11 autocmd FileType c,cpp map<buffer> <leader><space> :w<cr>:make<cr>
    12 nnoremap <C-J> <C-W><C-J>
    13 nnoremap <C-K> <C-W><C-K>
    14 nnoremap <C-H> <C-W><C-H>
    15 map<M-F2> :tabnew<CR>
    16 map<F3> :tabnew .<CR>
    17 map<C-F3> /be
    18 
    19  
    20 
    21 syntax on
    22 set number
    23 set shiftwidth=4
    24 set tabstop=4
    25 set scrolloff=3
    26 set hlsearch
    27 set confirm
    28 set cindent
    29 map<C-A> ggVG"+y
    30 
    31 map<F5> :call Run()<CR>
    32 
    33 func! Run()
    34 
    35     exec "w"
    36 
    37  if &filetype == 'c'
    38 
    39     exec "!g++ % -o %<"
    40 
    41     exec "!time ./%<"
    42 
    43  elseif &filetype == 'cpp'
    44 
    45      exec "!g++ % -o %<"
    46 
    47      exec "!time ./%<"
    48 
    49  elseif &filetype == 'java'
    50 
    51      exec "!javac %"
    52 
    53     exec "!time java %<"
    54 
    55  elseif &filetype == 'sh'
    56 
    57     :!time bash %
    58 
    59  elseif &filetype == 'python'
    60 
    61      exec "!time python %"
    62 
    63  elseif &filetype == 'html'
    64 
    65      exec "!firefox % &"
    66 
    67  elseif &filetype == 'go'
    68 
    69      " exec "!go build %<"
    70 
    71      exec "!time go run %"
    72 
    73  elseif &filetype == 'mkd'
    74 
    75      exec "!~/.vim/markdown.pl % > %.html &"
    76 
    77      exec "!firefox %.html &"
    78 
    79  endif
    80 
    81 endfunc
    82 
    83 
    84 set cursorline
    85 highlight CursorLine cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
    86 nmap <c-v> "+gp
    87 nmap <c-c> "+y
    88 inoremap ( ()<ESC>i
    89 inoremap [ []<ESC>i
    90 inoremap { {}<ESC>i
    91 inoremap ' ''<ESC>i
    92 inoremap " ""<ESC>i
    View Code

     

    win10版

     1 syntax on
     2 set number
     3 set shiftwidth=4
     4 set tabstop=4
     5 set scrolloff=3
     6 set hlsearch
     7 set confirm
     8 set cindent
     9 set cursorline
    10 
    11 highlight CursorLine cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
    12 
    13 nmap <c-v> "+gp
    14 nmap <c-c> "+y
    15 inoremap ( ()
    16 inoremap [ []
    17 inoremap { {}
    18 inoremap ' ''
    19 inoremap " ""
    20 map<C-A> ggVG"+y
    21 
    22 map<F5> :call Run()<CR>
    23 func! Run()
    24    exec "w"
    25 if &filetype == 'c'
    26   exec "!g++ % -o %<"
    27   exec "!%<"
    28 elseif &filetype == 'cpp'
    29   exec "!g++ % -o %<"
    30   exec "!%<"
    31 elseif &filetype == 'java'
    32   exec "!javac %"
    33   exec "java %<"
    34 elseif &filetype == 'sh'
    35   :!time bash %
    36 elseif &filetype == 'python'
    37   exec "python %"
    38 elseif &filetype == 'html'
    39   exec "!firefox % &"
    40 elseif &filetype == 'go'
    41   exec "!go build %<"
    42   exec "go run %"
    43 elseif &filetype == 'mkd'
    44   exec "!~/.vim/markdown.pl % > %.html &"
    45   exec "!firefox %.html &"
    46 endif
    47 endfunc
    48 
    49 
    50 set diffexpr=MyDiff()
    51 func! MyDiff()
    52   let opt = '-a --binary '
    53   if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
    54   if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
    55   let arg1 = v:fname_in
    56   if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
    57   let arg1 = substitute(arg1, '!', '!', 'g')
    58   let arg2 = v:fname_new
    59   if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
    60   let arg2 = substitute(arg2, '!', '!', 'g')
    61   let arg3 = v:fname_out
    62   if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
    63   let arg3 = substitute(arg3, '!', '!', 'g')
    64   if $VIMRUNTIME =~ ' '
    65     if &sh =~ '<cmd'
    66       if empty(&shellxquote)
    67         let l:shxq_sav = ''
    68         set shellxquote&
    69       endif
    70       let cmd = '"' . $VIMRUNTIME . 'diff"'
    71     else
    72       let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"'
    73     endif
    74   else
    75     let cmd = $VIMRUNTIME . 'diff'
    76   endif
    77   let cmd = substitute(cmd, '!', '!', 'g')
    78   silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
    79   if exists('l:shxq_sav')
    80     let &shellxquote=l:shxq_sav
    81   endif
    82 endfunc
    View Code

    win10上的按键映射好像用不了。。不能一键运行,不太好用,不过比之前美观

     1 syntax on
     2 set number
     3 set ruler
     4 set shiftwidth=4
     5 set tabstop=4
     6 set scrolloff=3
     7 set hlsearch
     8 set confirm
     9 set cindent
    10 set cursorline
    11 set guifont=Cascadia Mono:h12
    12 colorscheme desert 
    13 set background=dark
    14 highlight CursorLine cterm=NONE ctermbg=black ctermfg=blue guibg=NONE guifg=NONE
    15 
    16 nmap <c-v> "+gp
    17 nmap <c-c> "+y
    18 map <C-A> ggVG"+y
    19 
    20 map <F5> :call Run()<CR>
    21 func! Run()
    22    exec "w"
    23 if &filetype == 'c'
    24   exec "!g++ % -o %<"
    25   exec "!%<"
    26 elseif &filetype == 'cpp'
    27   exec "!g++ % -o %<"
    28   exec "!%<"
    29 elseif &filetype == 'java'
    30   exec "!javac %"
    31   exec "java %<"
    32 elseif &filetype == 'sh'
    33   :! bash %
    34 elseif &filetype == 'python'
    35   exec "python %"
    36 elseif &filetype == 'html'
    37   exec "!firefox % &"
    38 elseif &filetype == 'go'
    39   exec "!go build %<"
    40   exec "go run %"
    41 elseif &filetype == 'mkd'
    42   exec "!~/.vim/markdown.pl % > %.html &"
    43   exec "!firefox %.html &"
    44 endif
    45 endfunc
    46 
    47 
    48 set diffexpr=MyDiff()
    49 func! MyDiff()
    50   let opt = '-a --binary '
    51   if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
    52   if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
    53   let arg1 = v:fname_in
    54   if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
    55   let arg1 = substitute(arg1, '!', '!', 'g')
    56   let arg2 = v:fname_new
    57   if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
    58   let arg2 = substitute(arg2, '!', '!', 'g')
    59   let arg3 = v:fname_out
    60   if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
    61   let arg3 = substitute(arg3, '!', '!', 'g')
    62   if $VIMRUNTIME =~ ' '
    63     if &sh =~ '<cmd'
    64       if empty(&shellxquote)
    65         let l:shxq_sav = ''
    66         set shellxquote&
    67       endif
    68       let cmd = '"' . $VIMRUNTIME . 'diff"'
    69     else
    70       let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"'
    71     endif
    72   else
    73     let cmd = $VIMRUNTIME . 'diff'
    74   endif
    75   let cmd = substitute(cmd, '!', '!', 'g')
    76   silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
    77   if exists('l:shxq_sav')
    78     let &shellxquote=l:shxq_sav
    79   endif
    80 endfunc
    View Code

    ubuntu标准版,仅含代码基本格式、复制粘贴和F5运行代码快捷键

    set mouse=a 
    set shiftwidth=4 
    set tabstop=4 
    set scrolloff=3 
    set hlsearch 
    set showmatch 
    set confirm 
    set cindent 
    "set fdm=indent 
    "set nobackup 
     
    nmap <c-v> "+gp 
    nmap <c-c> "+y 
    map <C-A> ggVG"+y 
     
    map <F5> :call Run()<CR> 
    func! Run() 
        exec "w" 
        if &filetype == 'c' 
            exec "!gcc -Wall % -o %<.o" 
            exec "!./%<.o" 
        elseif &filetype == 'cpp' 
            exec "!g++ -Wall % -o %<.o" 
            exec "!./%<.o" 
        elseif &filetype == 'sh' 
            :! bash % 
        elseif &filetype == 'python' 
            exec "python %" 
        elseif &filetype == 'java' 
            exec "!javac %" 
            exec "!java %<" 
        endif 
    endfunc 
    View Code

    插件

    Yggdroot/indentLine 很好用,划线标明代码是否对齐,加上 filetype indent on 配置就可以很方便地写代码了。

  • 相关阅读:
    网上找的,C# 小票打印机 直接打印,备用
    SlickUpload 破解方法
    全文索引的一点个人总结
    在ASP.NET中利用SlickUpload来上传大文件
    再谈iframe自适应高度 By 大米
    发送邮件到 163、Gmail、QQ 等邮箱时,全丢垃圾箱中怎么办?
    iis下Awstats的安装使用说明
    AutoCompleteExtender控件出现undefined和null现象
    IT业史上最棒的图片之一
    EnableViewState="false",取dropdownlist的值
  • 原文地址:https://www.cnblogs.com/canchan/p/10044978.html
Copyright © 2011-2022 走看看