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' let g:vimtex_view_general_viewer = 'okular' "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 = '' inoremap coc#pum#visible() ? coc#pum#confirm() \: "\u\\=coc#on_enter()\" " 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() "let g:ibus_prev_engine = system('ibus engine') "" 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') "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 "autocmd CmdLineEnter [/?] silent call IBusOn() "autocmd CmdLineLeave [/?] silent call IBusOff() "autocmd CmdLineEnter \? silent call IBusOn() "autocmd CmdLineLeave \? silent call IBusOff() "autocmd InsertEnter * silent call IBusOn() "autocmd InsertLeave * silent call IBusOff() "augroup END "silent call IBusOff() " let g:input_lang = system('fcitx5-remote') function! FcitxOff() let l:input_status = system('fcitx5-remote') let g:input_lang = l:input_status if l:input_status == 2 "second input method silent! execute '!fcitx5-remote -c' endif endfunction function! FcitxOn() let l:input_status = system('fcitx5-remote') if l:input_status == 1 if g:input_lang == 2 silent! execute '!fcitx5-remote -o' endif endif endfunction augroup fcitxHandler autocmd CmdLineEnter [/?] silent call FcitxOn() autocmd CmdLineLeave [/?] silent call FcitxOff() autocmd CmdLineEnter \? silent call FcitxOn() autocmd CmdLineLeave \? silent call FcitxOff() autocmd InsertEnter * silent call FcitxOn() autocmd InsertLeave * silent call FcitxOff() augroup END let g:vimtex_view_general_viewer = 'okular' 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