成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

可能是 Windows 下最漂亮的 Gvim 配置了

CarterLi / 2826人閱讀

摘要:原文一直以來被稱為編輯器之神的在下很難發(fā)揮其強(qiáng)大的功能,本文從實(shí)用的角度闡述如何調(diào)校出一個(gè)比較好用的不過仍然要說明下,在眾多構(gòu)建版本中平臺(tái)的是我認(rèn)為最好用的一個(gè)版本。

原文:https://keelii.github.io/2016/06/13/awsome-window-vimrc/

一直以來被稱為編輯器之神的 vim 在 Windows 下很難發(fā)揮其強(qiáng)大的功能,本文從實(shí)用的角度闡述如何調(diào)校出一個(gè)比較好用的 vim

不過仍然要說明下,在眾多 vim 構(gòu)建版本中 Mac OS 平臺(tái)的 MacVim 是我認(rèn)為最好用的一個(gè)版本。由于自己公司主力用 Windows,又因筆者是一枚對(duì)編輯器顏值體驗(yàn)有要求的前端工程師, 所以才有了下文 ^!^

先說明下開發(fā)環(huán)境:

ThinkPad T450 (公司標(biāo)配)

Windows 7 SP1 64bit 企業(yè)版

編程語言 Javascript, HTML, CSS, NodeJS, Python

前言

本文旨在配置和使用 vim,并不適合太初級(jí)的 vim 用戶,本文作者也不是 vim 死忠粉,經(jīng)?;煊?Webstrom 和 vim

開始

開始之前我們先看一眼 Windows 上安裝 Gvim 的默認(rèn)界面,我們將從這里開始一步步的學(xué)習(xí)和配置

配置 _vimrc

由于 vimrc 里面會(huì)有很多的配置項(xiàng),為了避免混亂,我大概按自己的使用習(xí)慣分成了幾個(gè)小組:

Startup - 編輯器啟動(dòng)時(shí)需要添加的一些配置

General - 通用配置

Lang & Encoding - 語言和編碼

GUI - 界面

Format - 基本的代碼格式

Keymap - 通用的快捷鍵

Plugin - 插件相關(guān)(包括和當(dāng)前插件相關(guān)的配置和快捷鍵等)

Function - vimrc 里面用到的常用方法

Startup
" Startup {{{
filetype indent plugin on


" vim 文件折疊方式為 marker
augroup ft_vim
    au!

    au FileType vim setlocal foldmethod=marker
augroup END
" }}}

設(shè)置 vim 相關(guān)文件打開后默認(rèn)折疊方式為 marker,約定俗成的用三個(gè)花括號(hào)注釋包裹起來,這樣在你打開配置文件的時(shí)候 vim 就會(huì)幫你折疊起來,配置文件看起來就簡潔多了,如圖:

General
" General {{{
set nocompatible
set nobackup
set noswapfile
set history=1024
set autochdir
set whichwrap=b,s,<,>,[,]
set nobomb
set backspace=indent,eol,start whichwrap+=<,>,[,]
" Vim 的默認(rèn)寄存器和系統(tǒng)剪貼板共享
set clipboard+=unnamed
" 設(shè)置 alt 鍵不映射到菜單欄
set winaltkeys=no
" }}}

基本上一眼就能看出來這是些啥玩意,不過后面兩項(xiàng)目我個(gè)人感覺比較好用:

clipboard+=unnamed 比如你在其它地方 copy 了一段文字回到 vim 里面可以粘貼進(jìn)來

winaltkeys=no 一般 windows 下應(yīng)用程序的 alt 是用來定位菜單欄目的快捷鍵,我們需要禁用它,因?yàn)槲覀兒竺婧芏嘣O(shè)置都需要使用 alt,需要使用 alt 來定位菜單的情況很少

Lang & Encoding
" Lang & Encoding {{{
set fileencodings=utf-8,gbk2312,gbk,gb18030,cp936
set encoding=utf-8
set langmenu=zh_CN
let $LANG = "en_US.UTF-8"
"language messages zh_CN.UTF-8
" }}}

vim 里面設(shè)置編碼的地方很多,上面這些配置可以保證不會(huì)出現(xiàn)亂碼,像文件菜單、vim默認(rèn)語言建議設(shè)置成 en_US

GUI
" GUI {{{
colorscheme Tomorrow-Night

source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set cursorline
set hlsearch
set number
" 窗口大小
set lines=35 columns=140
" 分割出來的窗口位于當(dāng)前窗口下邊/右邊
set splitbelow
set splitright
"不顯示工具/菜單欄
set guioptions-=T
set guioptions-=m
set guioptions-=L
set guioptions-=r
set guioptions-=b
" 使用內(nèi)置 tab 樣式而不是 gui
set guioptions-=e
set nolist
" set listchars=tab:? ,eol:?,trail:·,extends:>,precedes:<
set guifont=Inconsolata:h12:cANSI
" }}}

編輯器配色建議使用 Tomorrow-Night,下載文件 copy 到 colors 目錄即可

從上面的設(shè)置可以看出來,為了得到一個(gè)簡潔漂亮的界面,我們?nèi)サ袅瞬藛螜?、各種滾動(dòng)條、使用 vim 內(nèi)置 tab 而不是 gvim 系統(tǒng)的 tab 樣式,注意很多開發(fā)者喜歡顯示不可見字符,比如:tab 制表符、換行符號(hào)、尾空格等。

我自己并不喜歡這樣,因?yàn)檫@樣只會(huì)使界面看起來更零亂,尤其是某插件縱向標(biāo)尺

字體方面?zhèn)€人推薦 Inconsolata 這個(gè)在我看來是 Windows 平臺(tái)最漂亮的等寬字體了

此時(shí)你的編輯器應(yīng)該好看了很多:

Format
" Format {{{
set autoindent
set smartindent
set tabstop=4
set expandtab
set softtabstop=4
set foldmethod=indent
syntax on
" }}}

這個(gè)設(shè)置容易引起爭議,我自己是這么個(gè)設(shè)置,大家按個(gè)人喜好就行了,反正我是不建議使用 tab 的,對(duì)代碼格式有強(qiáng)迫癥的人一般都會(huì)設(shè)置 foldmethod=indent

Keymap

可以說快捷鍵是每個(gè)編輯器必備的功能,科學(xué)的設(shè)置快捷鍵能很大程度的提高效率??旖萱I的設(shè)置要遵循一個(gè)規(guī)則:盡量不要修改系統(tǒng)默認(rèn)配置的快捷鍵,非要設(shè)置的話選擇好相應(yīng)的模式

" Keymap {{{
let mapleader=","

nmap s :source $VIM/_vimrc
nmap e :e $VIM/_vimrc

map tn :tabnew
map tc :tabclose
map th :tabp
map tl :tabn

" 移動(dòng)分割窗口
nmap  j
nmap  k
nmap  h
nmap  l

" 正常模式下 alt+j,k,h,l 調(diào)整分割窗口大小
nnoremap  :resize +5
nnoremap  :resize -5
nnoremap  :vertical resize -5
nnoremap  :vertical resize +5

" 插入模式移動(dòng)光標(biāo) alt + 方向鍵
inoremap  
inoremap  
inoremap  
inoremap  

" IDE like delete
inoremap  bdei

nnoremap vv ^vg_
" 轉(zhuǎn)換當(dāng)前行為大寫
inoremap  mzgUiw`za
" 命令模式下的行首尾
cnoremap  
cnoremap  

nnoremap  :setlocal number!
nnoremap w :set wrap!

imap  "+gP
vmap  "+y
vnoremap  d
vnoremap  "+y
vnoremap  "+y
imap         "+gP
map         "+gP
cmap         +
cmap         +

exe "inoremap 

Tabular

對(duì)齊插件,文章末尾 gif 圖里面有展示,visual 模式下選擇要對(duì)齊的多行文本,進(jìn)入命令模式 :Tabularize /對(duì)齊符號(hào)

Airline

狀態(tài)欄美化插件,準(zhǔn)備棄用了

Ctrlp

類似IDE里面的最近打開的文件,用于快速定位文件/Buffer

NERDCommenter

注釋插件,默認(rèn)是快捷鍵是 c

Emmet

用來快速寫 HTML

SnipMate

代碼片段管理, 這個(gè)插件很早之前的那個(gè)版本不維護(hù)了,現(xiàn)在最新版的非常強(qiáng)大,不過有另外兩個(gè)依賴,默認(rèn)是沒有任何內(nèi)置的 snippet 的,如果需要樣版,可以安裝 這個(gè)插件 需要自定義的話手動(dòng)更改 snippets 目錄下的文件即可(其實(shí)就是個(gè)git倉庫,你可以換成自己的)

Fugitive

Git 命令增強(qiáng)工具,在 vim 使用 git,狀態(tài)欄的分類名稱就是調(diào)用的這個(gè)插件的方法 fugitive#head()

Neocomplete

自動(dòng)補(bǔ)全插件,這個(gè)代碼實(shí)例插件是需要 lua 支持的,可能你需要手動(dòng)編譯一個(gè)帶 lua 支持版本的 gvim,下篇文章 我將記錄下自己在 Windows 上編譯安裝的過程

什么?你說為啥不裝 YouCompleteMe,官方作者都不支持的插件就別折騰了吧,Neocomplete 這個(gè)實(shí)例插件對(duì)于我的情況來說已經(jīng)夠用了

Function

常用方法這里我只有一個(gè),移除尾空格

" Function {{{
" Remove trailing whitespace when writing a buffer, but not for diff files.
" From: Vigil
" @see http://blog.bs2.to/post/EdwardLee/17961
function! RemoveTrailingWhitespace()
    if &ft != "diff"
        let b:curcol = col(".")
        let b:curline = line(".")
        silent! %s/s+$//
        silent! %s/(s*
)+\%$//
        call cursor(b:curline, b:curcol)
    endif
endfunction
autocmd BufWritePre * call RemoveTrailingWhitespace()
" }}}

No picture U say a ... ?

這個(gè)是動(dòng)圖,不動(dòng)戳大

結(jié)語

還有一點(diǎn)沒說明,vimrc 里面的一些 windows 獨(dú)有的設(shè)置我并沒有加一些判斷來兼容其它平臺(tái),這個(gè)是個(gè)人喜好而已,我會(huì)多帶帶分開維護(hù)不同平臺(tái)的配置文件,而不是全部放在一起各種邏輯判斷

引用

完整配置文件

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24871.html

相關(guān)文章

  • vim配置文件,再度升級(jí)

    摘要:不過近日來隨著最后幾個(gè)補(bǔ)全插件的加入和配置調(diào)整,這個(gè)配置文件已經(jīng)比較完整,因此可以好好坐下來,對(duì)使用方法和注意點(diǎn)作一介紹。更建議你打開里面的各個(gè)文件查看,學(xué)習(xí)。 中文介紹 原來的repo放在 spf13-vim-leoatchina,因?yàn)樵瓉硪粫r(shí)腦抽,把中文字體放進(jìn)去后導(dǎo)致體積較大,影響速度,所以重開一個(gè)repo并把windows下的工具分開,以增加clone速度。 現(xiàn)在的配置是在 l...

    Simon_Zhou 評(píng)論0 收藏0
  • 帶上你Vim,走!

    摘要:帶上你的,走下面講到的配置主要出自我自用的配置,感興趣的可以參考一鍵裝機(jī)之的幾乎所有配置都可以保存在一個(gè)文件中,因此把同步起來,直接拷貝到相應(yīng)位置并指定,則可以恢復(fù)相應(yīng)的配置。 首發(fā)自簡書 每個(gè)Vimer都有自己的一個(gè)配置,猶如每個(gè)劍客都有自己的一把劍(應(yīng)該是吧)。(爭?。┳鳛橐粋€(gè)傳說中的全棧開發(fā)者,換機(jī)器就像換衣服一樣頻繁;在異國他鄉(xiāng)的機(jī)器上,是否懷念那一套屬于你的指法呢?下面會(huì)講一...

    geekidentity 評(píng)論0 收藏0
  • 【失敗】windows10中利用MingGW編譯64 bit GVIM with python27/

    摘要:終極目標(biāo)問題描述首先聲明,這是一次失敗的編譯經(jīng)歷,僅供參考,歡迎討論。近期發(fā)現(xiàn)是一個(gè)很棒的編輯器,簡潔高效。所以,毅然決然,自己從源碼編譯一個(gè)。首先運(yùn)行上面目錄樹中的。我猜想這可能和我的失敗有關(guān)。設(shè)置為,編譯結(jié)果是,則代表。 終極目標(biāo) VIM = Python multi-version IDE 問題描述 首先聲明,這是一次失敗的編譯經(jīng)歷,僅供參考,歡迎討論。 近期發(fā)現(xiàn)VIM是一個(gè)很棒...

    cikenerd 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<