Редактирование командной строки в оболочке в vim - PullRequest
0 голосов
/ 13 апреля 2020

Есть некое неуклюжее поведение, которое я хотел бы разрешить:

В vim я могу использовать :terminal, чтобы вызвать окно оболочки. Но если я что-то ввожу в него, я не могу редактировать его как обычную оболочку: я застрял либо в бесполезном нормальном режиме, либо в режиме вставки, где я могу только писать новые буквы или удалять их в конец линии. Я не могу переместить курсор в середину и изменить, скажем,

cd ~/Picturs/MyLovelyHusbandAndChildren2017/VacationPhotos/Aruba

на

cd ~/Pictures/MyLovelyHusbandAndChildren2017/VacationPhotos/Aruba

без простого удаления всего с ~/Pictur до конца и его переписывания. Есть ли какой-нибудь способ обойти это или это основное ограничение работы vim? Это расстраивает меня, потому что я хотел бы использовать ghci в окне оболочки, но это делает его намного менее отзывчивым.

1 Ответ

0 голосов
/ 13 апреля 2020

Есть некоторые конкретные c конфиги, которые вы можете сделать как на vim, так и на neovim, чтобы решить эту проблему, в моем случае, neovim, у меня есть следующие строки в моем файле инициализации:

augroup neovim_terminal
    autocmd!
    " Enter Terminal-mode (insert) automatically
    autocmd TermOpen * startinsert
    " Disables number lines on terminal buffers
    autocmd TermOpen * :set nonumber norelativenumber
    " allows you to use Ctrl-c on terminal window
    autocmd TermOpen * nnoremap <buffer> <C-c> i<C-c>
augroup END

Обратите внимание на autocmd TermOpen * startinsert, эта строка проверяет, как только я войду в новый терминал по neovim, он будет в инертном режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...