Документация по ОС FreeBSD Суббота, 27.04.2024, 04:42
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Shell [40]

Главная » Статьи » Программирование » Shell

Окна в vim [2010]
Я никогда не пробовал работать с окнами в vim, потому что ни на моём десктопном монике (17", 1280x1024), ни на нетбуке (8,9", 1024x600) они не дают никаких преимуществ — места и так довольно мало. Но неделю назад мне довелось пару дней поработать на ноуте с широкоформатным экраном, и там несколько файлов в разных окнах выглядят просто замечательно!

Вообще-то тема окон в vim не является чем-то очень новым или сложным — основную инфу можно легко нагуглить или получить, набрав в vim'е :help window — но я всё же решил написать эту заметку: и себе на память, и потому, что idler с welinux'а напомнил :)

Прежде чем начать, замечу, что я использую исключительно консольную версию vim'а. Как нижеприведённые команды поведут себя в gVim, я не знаю. Не думаю, что вы что-то сломаете, но все равно — я предупредил :) И да, скриншоты я делал на своём десктопе, так что они будут 4:3.

Итак, окна в vim ничем не отличаются от оконо в вашем любимом DE или WM — это просто участки экрана, содержащие какую-то информацию. В случае с вимом в роли информации чаще всего выступают файлы, хотя в окне может быть и плагин (например, NERD_TREE). vim с несколькими открытыми окнами выглядит так:



vim с несколькими окнами
Слева NERD_TREE, справа — сорцы любимого ядрышка


Заставить vim открыть несколько файлов в разных окнах, расположив их горизонтально, можно такой командой:
vim -o attr.c open.c sync.c

Окно NERD_TREE добавляется выполнением команды :NERDTree Разбивка по вертикали задаётся опцией-O:
vim -O attr.c open.c sync.c



Результат выполнения vim -O attr.c open.c sync.c


Если vim уже открыт, новое окно можно создать несколькими путями:
  • пустое окно — ctrl+w n
  • горизонтально разбить текущее окно на два — ctrl+w s
  • вертикально разбить текущее окно на два — ctrl+w v
Закрывается окно комбинацией ctrl+w c Впрочем, для закрытия окна может использоваться и традиционное :q (вместе с модификациями вроде :q! и :wq). Чтобы закрыть все окна и покинуть vim, наберите :qall

Теперь перейдём к самой частой операции — перемещению между окнами. Собственно говоря, здесь всё просто: жмём ctrl+w и указываем направление: hjk или l (не пугайтесь — стрелочки тоже работают :). Если кто забыл раскладку, напоминаю:
  k
h j l
Не забывайте про то, что вы в vim'е, т.е. очень продуманной и мощной среде — не стесняйтесь делатьctrl+w 3l и т.п. :)

Для переключения на предыдущее и следующее окна есть команды попроще — ctrl+w p и ctrl+w wсоответственно.

Более редкими операциями является передвижение и ресайз окон. Тут нет ничего сложного — двигать окна почти так же просто, как и переключаться между ними: нажимаем ctr+w и говорим, куда двигать — HJK или L (обратите внимание на регистр). Увеличение и уменьшение окон также не представляют собой ничего сложного — сделать окно шире или у́же можно с помощью клавиш > (шире) и < (у́же), выше или ниже — с помощью + и -. Все эти команды меняют размер на единицу, но можно указывать и число — т.е. ctrl+w 5+ является абсолютно валидной командой.

Напоследок хотелось бы привести некоторые команды, имеющие отношение к вимовским окнам. По большей части они будут полезны программистам:
vim -d файл1 файл2 позволяет сравнивать файлы



vim -d pk.new pk.old


ctrl-w ] делит текущее окно, во второй половине открывает определение того, что под курсором
ctrl+w [idf] разделяет окно и во второй половине открывает:
  • i — определение переменной
  • d — определение (функции или чего там под курсором)
  • f — файл, путь к которому находится под курсором
ctrl+w o закрывает все окна, кроме текущего

Пожалуй, всё. Напомню, что более подробно об окнах вы можете почитать в самом виме, набрав :help window

Happy vimming!


Источник: http://debiania.blogspot.com/2010/04/vim.html
Категория: Shell | Добавил: oleg (27.04.2010) | Автор: MINORU
Просмотров: 750 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024