【发布时间】:2016-07-21 10:33:09
【问题描述】:
我想使用一些映射,这样我就可以像使用我发现的常规文本编辑器一样使用 VIM this answer,这似乎适用于大多数人,大多数人不包括我。
这个想法是使用 shift 加箭头键从正常模式中进行选择,但它只会导致我的光标卡住而没有其他任何作用。
我也试图让multi-cursors 在 vim 中工作,但是当我使用我的键映射时,我得到了这个错误
E78: Unknown mark
这是我的key-mappings:
" Buffer switching
map <leader>p :bp<CR> " \p previous buffer
map <leader>n :bn<CR> " \n next buffer
map <leader>d :bd<CR> " \d delete buffer
" Increment numbers
nnoremap <A-a> <C-a>
nnoremap <A-x> <C-x>
map <Leader>c :call vroom#RunTestFile()<CR>
map <Leader>s :call vroom#RunNearestTest()<CR>
map <leader>t :A<CR> " \t to jump to test file
map <leader>r :r<cr> " \t to jump to related file
map <leader>E :Explore .<cr> " \E to open file explorer in root
map <leader>e :Explore<cr> " \e to open file explorer in current dir
"nerd tree mapings
map <C-n> <plug>NERDTreeTabsToggle<CR>
"shit plus arrow for selectio mode
" shift+arrow selection
nmap <S-Up> v<Up>
nmap <S-Down> v<Down>
nmap <S-Left> v<Left>
nmap <S-Right> v<Right>
vmap <S-Up> <Up>
vmap <S-Down> <Down>
vmap <S-Left> <Left>
vmap <S-Right> <Right>
imap <S-Up> <Esc>v<Up>
imap <S-Down> <Esc>v<Down>
imap <S-Left> <Esc>v<Left>
imap <S-Right> <Esc>v<Right>
"copy and pasting
vmap <C-c> y<Esc>i
vmap <C-x> d<Esc>i
map <C-v> pi
imap <C-v> <Esc>pi
imap <C-z> <Esc>ui
"multi-cursor mappings"
let g:multi_cursor_next_key='<leader>d'
let g:multi_cursor_prev_key='<leader>s'
let g:multi_cursor_skip_key='<C-x>'
let g:multi_cursor_quit_key='<Esc>'
" Removing escape
ino jj <esc>
cno jj <c-c>
vno v <esc>
" Remove highlights with leader + enter
nmap <Leader><CR> :nohlsearch<cr>
" Ruby hash syntax conversion
nnoremap <F12> :%s/:\([^ ]*\)\(\s*\)=>/\1:/g<return>
我还想补充一下,除了基本的文本编辑之外,我对 vim 还是很陌生,所以我不怀疑我做错了什么,对某些方面一无所知等,所以请在回答时考虑到这一点.
按shift+left 会导致D 被输出到终端。
按下shift+right 会导致C 被输出到终端。
【问题讨论】:
-
你知道视觉模式吗?你为什么不喜欢选择文本?您可以将其与文本动作一起使用,并选择一个单词、一行或段落,甚至是其中的多个!
-
这是在终端吗?无法保证终端可以真正看到并识别这些键码
-
@Christian Brabandt 它认识到我按下了 shift,只是做了一些不同的事情,不确定它实际上在做什么。测试它是否识别键的最佳方法是什么?
-
就像@SibiCoder 说的,你知道视觉模式吗?在普通模式下,只需按
v开始选择然后导航(即使使用箭头键) -
您似乎正试图强迫 vim 像其他编辑器一样工作。此外,与 vim 开箱即用的功能相比,这个“shift+arrow”的选择非常有限
标签: vim