-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathideavimrc
More file actions
104 lines (81 loc) · 3.56 KB
/
Copy pathideavimrc
File metadata and controls
104 lines (81 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
"neovim和ideavim公共部分
"1.下载plug.vim
" - curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" 2.通过下面命令软连接给vim/ideavim的配置文件
" - ln -s ~/.vim/vimrc ~/.ideavimrc
" - ln -s ~/.vim/vimrc ~/.vimrc
" 3.:PlugInstall
" 4.安装ack。 brew install ack
" =================================================================
echo "Running IdeVim"
let mapleader=" "
set nocompatible " 关闭对vi的兼容
set encoding=utf-8 " 编码设置
set showmode " 底部显示模式
"set relativenumber " 设置绝对行号
"set number " 设置行号
set hlsearch " 高亮搜索
set scrolloff=5
set incsearch " 搜索时,实时高亮
set ignorecase " 忽略大小写
set smartcase " 智能大小写
set history=2000 " 设置历史条数
set clipboard=unnamedplus " 剪切板共享
set showcmd " 显示当前输入的命令
set surround
set peekaboo " normal下按",insert下c-r 弹出寄存器列表
"set keep-english-in-normal-and-restore-in-insert " 自动切输入法插件
set commentary " 用gc注释代码
"set easymotion " 快速跳转到指定字符
set ReplaceWithRegister " 用gr来粘贴字符串
set NERDTree " 目录插件
set quickscope " f/t跳转时高亮
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] " 触发的按键
let g:qs_lazy_highlight = 1 " 没按f/t时不高亮
" normal下通过esc关闭高亮
nnoremap <silent> <Esc> :nohlsearch<cr>
" 关于AceJump
" Press `f` to activate AceJump
map s <Action>(AceAction)
" Press `F` to activate Target Mode
"map S <Action>(AceTargetAction)
" Press `g` to activate Line Mode
"map g <Action>(AceLineAction)
" Press `S` in normal mode to activate AceJump mode before the caret
"nmap S <Action>(AceBackwardAction)
" Press `s` in normal mode to activate AceJump mode after the caret
"nmap s <Action>(AceForwardAction)
-- 窗口切换快捷键
nnoremap <silent> <C-h> <C-w><Left>
nnoremap <silent> <C-j> <C-w><Down>
nnoremap <silent> <C-k> <C-w><Up>
nnoremap <silent> <C-l> <C-w><Right>
nnoremap <silent> H :tabp<CR>
nnoremap <silent> L :tabn<CR>
Plug 'vim-scripts/argtextobj.vim' " 支持参数对象
set functiontextobj " 支持函数对象,需要在idea plugins中安装FunctionTextObj扩展
Plug 'machakann/vim-highlightedyank' " 复制时高亮
let g:highlightedyank_highlight_duration = "200" " 设置高亮时间
set ideajoin " 智能连接。如字符串、表达式从两行连接成1行时,智能重构
set ideastatusicon=gray " ideavim图标设为灰色
set idearefactormode=keep " 所有mode下都可以使用idea的重构代码能力
map <C-t> :NERDTreeToggle<CR>
map <C-f> :NERDTreeFind<CR>
map <leader>d <Action>(Debug)
map <leader>r <Action>(Run)
map <C-i> :action Forward<CR>
map <C-o> :action Back<CR>
"map <leader>c <Action>(Stop)
"map <leader>z <Action>(ToggleDistractionFreeMode)
"map <leader>s <Action>(SelectInProjectView)
map <leader>a <Action>(Annotate)
"map <leader>h <Action>(Vcs.ShowTabbedFileHistory)
map <S-Space> <Action>(GotoNextError)
"map <leader>o <Action>(FileStructurePopup)
" 简单的方案解决*/#查询选择区域,对于特殊字符可能会有问题,如选中.会查询所有
vmap * y/<C-R>"<CR>
vmap # y?<C-R>"<CR>
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
vnoremap <silent> <C-j> :m '>+1<CR>gv=gv
vnoremap <silent> <C-k> :m '<-2<CR>gv=gv