Skip to content
tracyone edited this page Nov 16, 2022 · 26 revisions

feature config

After installed vinux, you will find feature.vim in ~/.vim/.

Open feature.vim, following features can be configed:

let g:vinux_coding_style.cur_val='linux'
let g:feat_enable_writing=1
let g:feat_enable_tools=1
let g:feat_enable_airline=0
let g:vinux_plugin_dir.cur_val='/Users/tracyone/.vim/bundle/'
let g:feat_enable_frontend=1
let g:fuzzy_matcher_type.cur_val='cpsm'
let g:enable_auto_plugin_install.cur_val='on'
let g:feat_enable_vim=1
let g:git_plugin_name.cur_val='vim-fugitive'
let g:enable_powerline_fonts.cur_val='off'
let g:feat_enable_edit=1
let g:grepper_plugin.cur_val='neomake-multiprocess'
let g:feat_enable_c=1
let g:tagging_program.cur_val='cscope'
let g:feat_enable_jump=1
let g:feat_enable_basic=1
let g:ctrlp_caching_type.cur_val='limit'
let g:feat_enable_fun=1
let g:enable_sexy_mode.cur_val='off'
let g:feat_enable_gui=1
let g:feat_enable_tmux=1
let g:fuzzysearcher_plugin_name.cur_val='fzf'
let g:complete_plugin_type.cur_val='ncm2'
let g:feat_enable_complete=1
let g:feat_enable_markdown=1
let g:feat_enable_zsh=1
let g:feat_enable_git=1
let g:feat_enable_help=1
let g:vinux_version='vinux V1.0.6 @8.1.1517'

There are two kind of variable:

  1. variables for enabling feature which prefix is g:feat_enable_. Set 1 to enable, 0 to disable
  2. variables for controlling some detail of feature or global settings which suffix is .cur_val. Use tab to select candidates option.

Following sections are the detail of these variables.

Enable & disable feature dynamically

You can edit feature.vim manually, but I am too lazy to do it

Keymap:

<SPC>fe: enable feature dynamically.

<SPC>fd: disable feature dynamically.

By default, vinux will use ctrlp to filter the features.

asciicast

Writing feature

To enable this feature, just edit feature.vim and change following line:

let g:feat_enable_writing=1

After enable this feature, you can:

  1. You can focus your writing using junegunn/goyo.vim

  2. You can edit org file and manager your todo list

  3. junegunn/goyo.vim

  4. jceb/vim-orgmode

  5. tpope/vim-speeddating

  6. chrisbra/NrrwRgn

  7. tracyone/utl.vim

Tools feature

To enable this feature, just edit feature.vim and change following line:

let g:feat_enable_tools=1
  1. crunch.vim.A Calculator.
  2. vim-youdao-translater.
  3. DrawIt
  4. renamer.vim
  5. vinarise.vim
  6. vim-gtfo
  7. fencview
  8. dictionary.vim
  9. fedorenchik/VimCalc3

Frontend feature

To enable this feature, just edit feature.vim and change following line:

let g:feat_enable_frontend=1
  1. mattn/emmet-vim
  2. hail2u/vim-css3-syntax
  3. cakebaker/scss-syntax.vim
  4. othree/html5.vim
  5. moll/vim-node
  6. maksimr/vim-jsbeautify
  7. tmhedberg/SimpylFold

Complete feature

To enable code complete feature

let g:feat_enable_complete=1

By default, YouCompleteMe is the default complete plugin, You can change it by modifying following variable:

let g:complete_plugin_type.cur_val='ncm2'

Following value are the candidates:

  1. YouCompleteMe for Valloric/YouCompleteMe, vim or neovim should enable +python or + python3 feature
  2. clang_complete for xavierd/clang_complete
  3. neocomplete for Shougo/neocomplete, vim8 & neovim nightly should enable +lua feature,
  4. asyncomplete.vim for prabirshrestha/asyncomplete.vim, vim8 & neovim nightly
  5. deoplete.nvim for Shougo/deoplete.nvim, vim8 & neovim nightly
  6. ncm2 for ncm2/ncm2, vim8 & neovim nightly
  7. supertab for supertab, fallback option
  8. nvim-cmp for hrsh7th/nvim-cmp, neovim only

Airline feature

screenshot for airlien

To enable this feature, just edit feature.vim and change following line:

let g:feat_enable_airline =1

To enable power line font:

let g:airline_powerline_fonts=1

Of course you need to install power line font:YaHei-Consolas-Hybrid-For-Powerline

Plugins auto install feature

Fun feature

If you enable this feature, Vim will lock every 25mins and unlock 2 mins after locked.

Password is current date, ie. 20180820

Edit feature

Language C feature

Jump feature

To enable jump feature:(jump between files,lines,charactors...)

let g:feat_enable_jump=1

There are two option to set the detail of jump feature.

Set the matcher of fuzzy searcher for speeding up filter speed.

let g:fuzzy_matcher_type.cur_val='cpsm'

Set the fuzzy searcher's plugin, default is ctrlp. Support ctrlp, leaderf, denite.nvim and fzf

let g:fuzzysearcher_plugin_name.cur_val='fzf'
  1. easymotion/vim-easymotion, jump between charactors
  2. t9md/vim-choosewin, jump between window
  3. MattesGroeger/vim-bookmarks, jump between bookmarks
  4. ronakg/quickr-preview.vim, preview quickfix

LSP feature

To enable LSP(Language Server Protocol) feature:

let g:feat_enable_lsp=1

In the case of vim and older version of neovim, following plugin are used:

prabirshrestha/vim-lsp: lsp protocol parse

mattn/vim-lsp-settings: Auto configurations for Language Servers for vim-lsp.

There are some complete plugins support lsp feature, see Complete feature for detail.

  1. asyncomplete.vim
  2. deoplete.nvim
  3. ncm2

open file and Use following command to install lsp server of correspond filetype

:LspInstallServer

In the case of neovim 0.5+, following plugin are used:

neovim/nvim-lspconfig: neovim's built-in lsp config

williamboman/nvim-lsp-installer: It adds the missing :LspInstall command to conveniently install language servers.

folke/trouble.nvim: A pretty list for showing diagnostics, references, telescope results

open file and Use following command to install lsp server of correspond filetype

:LspInstall <server>

There are some complete plugins support neovim's built-in lsp feature, see Complete feature for detail.

  1. nvim-cmp
  2. deoplete.nvim