Мой терминал не позволяет мне печатать Ctrl+ W, потому что это ярлык для закрытия вкладки терминала.
Мне нравится работать со сплитами, но я не могу найти способ сделать это без использования C-W
. Это заставило меня использовать вкладки, потому что я могу переключаться между ними gt
, gT
или #gt
где # это номер, но я считаю , это менее удобно , чем расколы , как я могу видеть только содержимое одного файла одновременно.
Я не могу использовать mouse=a
либо, так как мой терминал не поддерживает это.
Как я могу работать со сплитами в Vim без Ctrl+ Wкомбо?
key-bindings
vim-windows
split
Mateon1
источник
источник
wincmd
например, для сопоставления::nmap wj :wincmd j<cr>
оно действует так же, какCTRL-W j
(перейти к окну ниже).:help wincmd
CTRL-W j
работает со счетчиками (перейти к n-му окну ниже от текущего) моего решения нет.<C-W>
слишком полезный ярлык (не только во многих местах в Vim, но и в bash), чтобы его потерять. Мне было бы любопытно, какие другие привязки клавиш используются терминалом -<C-T>
? По крайней мере, я бы посмотрел, можно ли их настраивать в терминале.Ответы:
Вы можете просто переназначить
<C-w>
на другую комбинацию, например:Теперь вы можете использовать,
<C-e>
и он будет действовать, как будто вы нажали<C-w>
.Это заменит
<C-e>
отображение по умолчанию (прокрутите вниз). Vim уже использует каждую клавишу на клавиатуре, и единственный способ предотвратить это - использовать клавишу-лидер, которая действует как «префикс»:Если вы не переназначены
<Leader>
, теперь вы можете использовать\w
(после друг друга). Я на самом деле предпочитаю это, так как мне не нравятся комбинации клавиш CTRL +.Смотрите, что такое <Лидер>? и как я могу узнать, что для <Leader> установлено? И можно ли переназначить <Лидер>? ,
источник
Я на самом деле использую
:wincmd
чаще, чем Ctrl+, Wпотому что мне легче набирать сокращенное:winc
.Например, эквивалентом Ctrl+ W Lявляется
:winc l
.источник
Я настроил следующие переотображения в моем
.vimrc
:Теперь я могу использовать,
Ctrl+h
чтобы перейти к левому окну,Ctrl+l
перейти к правому окну и т. Д. Похоже, что он логически согласуется с обычной навигацией Vim.источник
nnoremap <cr> <c-w>w
, так как ключ возврата не используется в обычном режиме. Тогда легко перебрать разделение.Для работы с разбиениями я использую подрежим-плагин, который на самом деле довольно удобен: он позволяет вам создавать новый режим («режим», как в обычном режиме, визуальном режиме, режиме вставки и т. Д.), В котором вы определяете новые привязки клавиш ,
При этом вам больше не нужно использовать Ctrl+w, и, поскольку вы находитесь в новом режиме, все ключи могут свободно связываться: больше никаких проблем, таких как «Черт, я не могу найти комбинацию клавиш, которая является значением и еще не сопоставлена "
Вы можете установить плагин с любым обычным менеджером плагинов, и вот некоторые из моих настроек, чтобы дать вам некоторое вдохновение:
Я создал новый режим, который я вызывал,
WindowsMode
в котором я манипулирую своими разделениями:Эти строки означают, что я вхожу в режим с помощью Leaderkи я выхожу из режима с помощью Leader: После того, как я нажму Leaderkвсе клавиши, которые я нажимаю, будет:
После того, как я в
WindowsMode
этих строках сделаю hjklнавигацию по расщеплениям вродеCtrl+whjklЯ использовал эти строки , чтобы разделить окна с /и !:
И qзакройте сплит:
Переместите разделы с помощью Ctrlhjkl:
Vim-submode позволяет делать много мощных вещей, смотрите документацию для более подробной информации.
РЕДАКТИРОВАТЬ Другой подход подрежима Window описан здесь . Я думаю, что метод, использованный автором, еще ближе к ответу на вопрос: здесь используется для создания нового режима, но все
<c-w>something
сопоставления доступны с теми же ключами в подрежиме:Таким образом , все отображения
<c-w>lowerCaseKey
,<c-w>upperCaseKey
,<c-w><c-Key>
и отображения<c-w>=_+-<>
все они доступны в оконном режиме без префикса<c-w>
источник