Как я могу изменить положение / порядок моей текущей вкладки в Vim
? Например, если я хочу изменить свою текущую вкладку, чтобы быть первой вкладкой?
200
Вы можете переместить вкладку, :tabm
используя относительные аргументы или абсолютные аргументы с нулевым индексом.
абсолют:
:tabm i
родственник:
:tabm +i
:tabm -i
Это относительно новая функция. Так что, если это не сработает, попробуйте обновить vim.
:tabm
принимает относительные аргументы в vim 7.3.Вы имеете в виду перемещение текущей вкладки? Это работает с использованием tabmove.
У меня есть две привязки клавиш, которые перемещают мою текущую вкладку на одну влево или одну вправо. Очень кстати!
РЕДАКТИРОВАТЬ: Вот мой макрос VIM. Я не большой виМ кодер , так что, возможно, это можно сделать лучше, но вот как это работает для меня:
После этого вы можете связать ключи, например, так
.vimrc
:Теперь вы можете перемещать текущую вкладку, нажимая F9 или F10.
источник
Я искал то же самое, и после некоторых сообщений я нашел более простой способ, чем функция:
Tabpagenr () возвращает фактическое положение вкладки и tabmove использует индексы.
Я сопоставил правую клавишу Ctrl + L, а левую - Ctrl + H:
источник
:execute "tabmove" tabpagenr() + 1 <CR>
для перемещения вправо. Для MacVim 8.0.1420 (144) .Переместить текущую вкладку в n- ю позицию
Где
n
число, обозначающее позицию (начиная с нуля)Переместить вкладки влево / вправо
Я думаю, что лучшее решение состоит в том, чтобы переместить вкладку влево или вправо в ее текущее положение вместо того, чтобы вычислять числовое значение новой позиции, в которой вы хотите ее разместить.
С помощью приведенных выше комбинаций клавиш вы сможете перемещать текущую вкладку:
источник
+tabmove
иtabmove+
? Имеет ли значение положение?В дополнение к хорошим предложениям в других ответах, вы также можете просто перетаскивать вкладки мышью, чтобы перемещать их, если у вас включена поддержка мыши.
Это включено по умолчанию в MacVim и других реализациях GUI vim, независимо от того, используете ли вы вкладки виджетов GUI или вкладки стилей терминала в режиме GUI.
Он также работает в чистом tty режиме Vim, если у вас есть
set mouse=a
и есть подходящий терминал (xterm и большинство его эмуляторов, такие как gnome-терминал, Terminal.app, iTerm2 и PuTTY / KiTTY, чтобы назвать представление). Обратите внимание, что щелчки мыши за столбцом 222 также требуютset ttymouse=sgr
; см. в Vim, почему моя мышь не работает после 220-го столбца? для фона на это.Я написал плагин под названием vim-tabber, который предоставляет некоторые дополнительные функции для переключения вкладок, их смещения и добавления к возможностям встроенных команд манипулирования вкладками, при этом оставаясь в значительной степени совместимым со встроенными модулями. Даже если вы решите не использовать плагин, в README есть некоторая общая информация об использовании вкладок.
источник
Почему-то у меня перестала работать функция ответа. Я подозреваю конфликт с vim-ctrlspace . Несмотря на это, математика в ответе функции не нужна, поскольку Vim может перемещать вкладки влево и вправо с помощью встроенных функций. Нам просто нужно обработать упаковку , потому что Vim не удобен для пользователя.
источник
-tabm
и+tabm
мой vim 7.4 не правильно перемещать вкладки. Также my:help tabm
не перечисляет это как допустимый синтаксис. Поэтому я заменил последнееelse execute ...endif
сelseif a:direction == 1 execute "tabmove" s:current_tab else execute "tabmove" s:current_tab - 2 endif
использованием ответа Паблоtabmove
и знак-
/+
вexecute
строке.Вот мой макрос, использующий относительные аргументы из ответа @ maybeshewill:
Он обрабатывает упаковочный футляр.
источник