Терминал Mac Vim будет использовать Backspace только в конце строки - PullRequest
63 голосов
/ 20 августа 2010

Кажется, что-то странное с моим терминалом Mac 10.6 или с .vimrc.

Когда я набираю backspace на клавиатуре моего ноутбука, он работает только тогда, когда курсор находится в конце строки. Попытка удалить из строки ничего не делает. MacVim работает нормально. Google не помог, потому что я даже не могу понять, как назвать это поведение.

Все остальные команды возврата в моем терминале работают должным образом, поэтому я склоняюсь к тому, чтобы это было специфично для Vim.

Вот вывод моих сопоставлений ~ / .vimrc, я не вижу ничего, что могло бы заставить Vim работать в терминале следующим образом:

cflewis@coral-reef ~> egrep ".*map.*" ~/.vimrc 
"inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
let mapleader = ","
map Q gq
nmap <silent> <leader>s :set nolist!<CR>
" extended '%' mapping for if/then/else/end etc
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
nmap <silent> <C-N> :silent noh<CR>
nmap <C-E> :b#<CR>
nmap <C-P> :NERDTreeToggle<CR>
nmap <leader>p :NERDTreeFind<CR>
nmap <leader>/ :call NERDComment(0, "invert")<cr>
vmap <leader>/ :call NERDComment(0, "invert")<cr>
nmap <leader>t :TlistToggle<CR>
nmap <leader>e :e **/
nmap <Leader>b :MiniBufExplorer<cr>
nmap <Leader>sh :ConqueSplit bash<cr>
nmap <Leader>r :ConqueSplit 
" map ,y to show the yankring
nmap <leader>y :YRShow<cr>
imap <silent> <Down> <C-o>gj
imap <silent> <Up> <C-o>gk
nmap <silent> <Down> gj
nmap <silent> <Up> gk
cmap w!! %!sudo tee > /dev/null %
inoremap jj <Esc>
nnoremap JJJJ <Nop>

Любые идеи будут оценены. Я попытался щелкнуть клавишу удаления, чтобы отправить ^ H или ^ ?, без разницы.

Ответы [ 2 ]

151 голосов
/ 20 августа 2010

Скорее всего, проблема, с которой вы сталкиваетесь, заключается в том, что вы не можете удалить ничего, что не было напечатано во время текущего сеанса режима вставки.Это связано с настройкой по умолчанию для опции 'backspace' .Добавление set backspace=indent,eol,start к вашему ~/.vimrc - это поведение, которое вы, вероятно, хотите.

14 голосов
/ 20 августа 2010

Это единственное явное отображение backspace, которое у меня есть в моей конфигурации. Я не знаю, поможет ли это вашей проблеме, но стоит попробовать?

" allow backspacing over everything in insert mode
set backspace=indent,eol,start
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...