vim

May. 19th, 2013 11:49 pm
thedeemon: (faculty of numbers)
[personal profile] thedeemon
Поставил недавно Vimium - хромовское расширение для навигации (хождение по ссылкам и их открытие в отдельном табе, переключение между табами, скроллинг) без использования мыши, сделанное по мотивам vim'a. Очень радует.

Speaking of vim. Вопрос к регулярным его пользователям: как вы перемещаетесь по коду? Скажем, курсор находится где-то в середине функции, и нужно добавить параметр в ее заголовок несколькими строчками выше. Ваши действия? Слышал от бывалых, что стрелками пользоваться не комильфо, но с другой стороны они так привычны и не требуют переключения в режим команд и обратно...

Date: 2013-05-19 04:56 pm (UTC)
From: [identity profile] lionet.livejournal.com
В этом случае использовал бы «{».

А вообще чаще всего — «{», «}», бег по блокам; чуть-чуть менее часто — поиск «/», «?»; смещение на n строк — «nj»/«nk» (внутри строки — по словам, «w»/«b»); мемори: «ma» + «`a» (где вместо a — любой символ, я чаще всего использую «a» literally), бегание по скобкам: «%».
Edited Date: 2013-05-19 06:34 pm (UTC)

Date: 2013-05-19 07:20 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Спасибо! Значит, я правильно себе представлял.

Date: 2013-05-20 03:35 am (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
'{' делает что-то странное, типа "переход на ближайшую пустую строку"
Любопытно, есть ли переход на начало/конец блока. va{ делает переход на конец блока, но кривовато, не позволяет поднятся выше, и чаще надо в начало, а не в конец

Date: 2013-05-20 03:47 am (UTC)
From: [identity profile] lionet.livejournal.com
Ну да; функции отбиваются пустыми строками, создавая абзацы; поэтому {} (хождение по абзацам) ходит по функциям.

Если говорить о функциях какого-то конкретного языка, надо переходить от голого вима к его соответствующим языковым плагинам, которые позволяют перемещаться точнее.

Date: 2013-05-20 01:27 pm (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
В пределах функции тоже есть пустые строки, для группировки смысловых кусочков (поэтому сами функции часто отбиваются больше чем одной строкой).

С сишными блоками vim уже умеет работать, но без возможности перейти на уровень выше/в начало (может и может, я просто не знаю). Например, '%' и 'va{' работают именно на уровне блоков. va{ - с побочными эффектами.

Макро вида
map ,u hva{<Esc><Esc>%<Esc><Esc>

повесит на клавиши ',u' то, что я имел ввиду, но с жутковатыми глюками и побочными эффектами в некоторых ситуациях.
Edited Date: 2013-05-20 01:29 pm (UTC)

Date: 2013-05-20 04:00 pm (UTC)
From: [identity profile] lionet.livejournal.com
> В пределах функции тоже есть пустые строки, для группировки смысловых кусочков (поэтому сами функции часто отбиваются больше чем одной строкой).

1. Это автоматом значит, что будут ходить по смысловым кусочкам, а не по функциям, опять же делая {} удобной комбинацией.
2. Если смысловых кусочков больше трёх, это наверняка напрашивающийся рефакторинг.

[{

Date: 2013-05-21 02:00 pm (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Подсказал коллега: прыгнуть на начало фигурной скобки можно по [{

Date: 2013-05-19 06:41 pm (UTC)
From: [identity profile] soloviewoff.livejournal.com
Стрелками отвык пользоваться. На всех компьютерах постоянного пользования переназначаю клавишу CAPS LOCK на CTRL и жму CTRL-[ для выхода из режима редактирования, потом перемещаюсь с помощью hjkl или команд перемещения наподобие тех, что Лев предложил, потом жму i для перехода в режим редактирования. Это удобно еще и тем, что часто "перейти на пару строк выше" это все же нечто посложнее. Например, это как минимум еще и найти правильную позицию в строке. Для этого часто пользуюсь f и t. Многие вещи уже на автомате - мозг выработал алгоритм определения минимального выполнения чего-то в Виме :)

Date: 2013-05-19 06:43 pm (UTC)
From: [identity profile] soloviewoff.livejournal.com
А Вимиум я в итог снес - так и не смог привыкнуть. Плюс он с какими-то сайтами глючил в самые неподходящие моменты. Типа заполняешь какую-то длинную форму, жмешь какую-то клавишу, чтобы напечатать что-то, а оказывается, что у тебя фокус был не в поле ввода, так что Вимиум решает что это команда и делает что-то необычное, типа перезагрузить страницу :)

Date: 2013-05-20 02:43 am (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Можешь подсказать программу, с помощью которой можно было бы

1) собрать из десятка телефонных фото одного плоского объекта (листа бумаги) - одно фото, более качественное. Камера слега смещается. Этакий сканер, маленькое разрешение и шум матрицы в полутемном помещении - побеждается большим количеством фото

2) тоже самое, через видео.

3) что бы работала из командной строки, или имело шикарный gui после которого не захочется комадной строки

?

Хочу уметь "сканировать" документы, но без сканера.

У тебя deemon video enhancer вроде бы как раз про super resolution, но не знаю можно ли им или чем-то ещё решить данную задачу.
Edited Date: 2013-05-20 02:44 am (UTC)

Date: 2013-05-20 03:56 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Готовую не назову. Если на разных фотках разные части объекта, то это нужна склеивалка панорам, вроде Panorama Maker'a. Если один и тот же, то можно попробовать взять VirtualDub, он умеет открывать последовательность картинок как видео, в нем фильтром-денойзером почистить от шумов. Если денойзер temporal, он и схожесть кадров задействует. На практике, правда, лучший денойзер - это Neat Video, и он внутрикадровый, насколько я помню. Наш super resolution тут не пригодится, он шумы и смазанность не лечит.

Date: 2013-05-20 03:39 am (UTC)
From: [identity profile] jerom.livejournal.com
А не нужно переключаться в режим команд, я почти всегда в нём.

vim-браузер

Date: 2013-06-22 06:11 am (UTC)
From: [identity profile] unavella.livejournal.com
Тебе может понравиться dwb -- это vim в браузере. После него все плагины кажутся костылями. Волшебная штука. Очень быстрый. И очень удобная навигация без мыши. Например в Vimperatore плохой стиль из коробки для тэгов (яркий жёлтый с красным, -- очень плохо для глаз и цифры). Там много настроек его можно как угодно допилить. И они понятные.

Нашёл его через suckless.org там, наверное, куча ещё полезных штук.

Re: vim-браузер

Date: 2013-06-23 03:42 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Спасибо за наводку!

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 30th, 2026 04:26 pm
Powered by Dreamwidth Studios