" 修改光标 insert normal 模式下的光标表现
let &t_SI = "\e[6 q"
let &t_SR = "\e[4 q"
let &t_EI = "\e[2 q"
set number
set mouse=a
syntax enable
inoremap jj <ESC>
" 自动补全双引号
" inoremap " ""<Left>
" " 自动补全单引号
" inoremap ' ''<Left>
" " 自动补全圆括号
" inoremap ( ()<Left>
" " 自动补全花括号
" inoremap { {}<Left>
" " 自动补全方括号
" inoremap [ []<Left>
" 自动缩进
set autoindent " 自动缩进
set smartindent " 智能缩进
set tabstop=4 " 设置tab键为4个空格
set shiftwidth=4 " 设置自动缩进为4个空格
set expandtab " 用空格代替tab
set softtabstop=4 " 设置退格键退回的空格数
set smarttab " 智能tab
set smartcase " 智能大小写
set incsearch " 搜索时逐字高亮
" Visual mode yank without moving the cursor
xnoremap <silent> y y`>
" Map 'u' to VS Code's undo command
nnoremap u :undo<CR>
" Map 'U' to VS Code's redo command
nnoremap U :redo<CR>
" curl -x http://192.168.2.7:10809 -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" Initialize vim-plug
call plug#begin('~/.vim/plugged')
" Add plugins here
Plug 'tpope/vim-sensible'
Plug 'junegunn/fzf'
Plug 'junegunn/fzf.vim'
Plug 'majutsushi/tagbar'
Plug 'scrooloose/nerdtree'
Plug 'terryma/vim-multiple-cursors'
" Initialize plugin system
call plug#end()
" Optional settings for plugins
if exists('$VSCODE_VIM')
" VSCode Vim 插件环境下的配置
" 例如,可以在这里禁用一些 VSCode 插件特定的设置
" vnoremap :call VSCodeCommand('workbench.action.findInFiles')<CR>
set number " 显示行号
else
" 非 VSCode 环境下的配置
set number " 显示行号
endif
set editing-mode vi
set show-mode-in-prompt on
set vi-ins-mode-string \1\e[5 q\2
set vi-cmd-mode-string \1\e[2 q\2
$if mode=vi
set keymap vi-command
"gg": beginning-of-history
"G": end-of-history
"L": end-of-line
set keymap vi-insert
"jj": vi-movement-mode
$endif