syntax on set number set cursorline set expandtab tabstop=4 shiftwidth=4 softtabstop=4 set autoindent set spelllang=vi,en " Fold set foldmethod=syntax set foldlevel=1 set foldnestmax=1 set encoding=utf8 " Search set hlsearch nnoremap i :nohlsi " Plugin call plug#begin() Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'dense-analysis/ale' Plug 'preservim/nerdtree' Plug 'preservim/nerdcommenter' Plug 'lervag/vimtex' Plug 'JuliaEditorSupport/julia-vim' Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' Plug 'honza/vim-snippets' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'kevinhwang91/nvim-bqf' Plug 'morhetz/gruvbox' Plug 'tpope/vim-fugitive' Plug 'ynkdir/vim-diff' call plug#end() "Color scheme "colorscheme iceberg "set background=light colorscheme gruvbox let g:gruvbox_contrast_light = 'hard' "Open NERDTree :nnoremap g:NERDTree.IsOpen() ? "\:NERDTreeClose" : bufexists(expand('%')) ? "\:NERDTreeFind" : "\:NERDTree" "Coc.nvim inoremap \ coc#pum#visible() ? coc#_select_confirm() : \ coc#expandableOrJumpable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : \ CheckBackSpace() ? "\" : \ coc#refresh() inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" function! CheckBackSpace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction let g:coc_snippet_next = '' " Comments let mapleader = "," " remap save nnoremap :w " moving between windows nnoremap h nnoremap j nnoremap k nnoremap l nnoremap h nnoremap j nnoremap k nnoremap l nnoremap to :tabonly nnoremap o :only nnoremap :tabn nnoremap :tabp "set clipboard+=unnamedplus " " Copy to clipboard vnoremap y "+y nnoremap Y "+yg_ nnoremap y "+y nnoremap yy "+yy " " Paste from clipboard nnoremap p "+p nnoremap P "+P " FZF key mapping nnoremap b :Buffers nnoremap r :Rg nnoremap f :Files nnoremap g :GFiles nnoremap w :Rg filetype plugin on set splitright set splitbelow function! IBusOff() " Lưu engine hiện tại let g:ibus_prev_engine = system('ibus engine') " Chuyển sang engine tiếng Anh " Nếu bạn thấy cái cờ ở đây " khả năng là font của bạn đang render emoji lung tung... " xkb : us :: eng (không có dấu cách) silent! execute '!ibus engine xkb🇺🇸:eng' endfunction function! IBusOn() let l:current_engine = system('ibus engine') " nếu engine được set trong normal mode thì " lúc vào insert mode duùn luôn engine đó if l:current_engine !~? 'xkb🇺🇸:eng' let g:ibus_prev_engine = l:current_engine endif " Khôi phục lại engine silent! execute '!ibus engine ' . g:ibus_prev_engine endfunction augroup IBusHandler " Khôi phục ibus engine khi tìm kiếm autocmd CmdLineEnter [/?] silent call IBusOn() autocmd CmdLineLeave [/?] silent call IBusOff() autocmd CmdLineEnter \? silent call IBusOn() autocmd CmdLineLeave \? silent call IBusOff() " Khôi phục ibus engine khi vào insert mode autocmd InsertEnter * silent call IBusOn() " Tắt ibus engine khi vào normal mode autocmd InsertLeave * silent call IBusOff() augroup END silent call IBusOff() "Language tool let g:ale_linter_aliases = {'tex': ['tex', 'markdown']} let g:ale_languagetool_executable = "java" let g:ale_languagetool_options = "-jar /data/kits/languagetool/languagetool-commandline.jar --languagemodel /data/kits/languagemodel/ --word2vecmodel /data/kits/languagemodel/ --disable WHITESPACE_RULE,COMMA_PARENTHESIS_WHITESPACE" let g:ale_disable_lsp = 1 map :ALEToggle "Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. "If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support "(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.) if (empty($TMUX)) if (has("nvim")) "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > let $NVIM_TUI_ENABLE_TRUE_COLOR=1 endif "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > if (has("termguicolors")) set termguicolors endif endif