vsvim

VsVim – małe info

Posted on Updated on

Gdy źle ustawiłem jak rozwiązać konfliktujące skróty klawiaturowe:

vsvim bindings conflicts

Btw VsVim działa z Visual Studio 2017. https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim

Extension z Visual Studio z których korzystam

Posted on Updated on

  1. Resharper
  2. VsVim
  3. RelativeLineNumbers

Właściwie to mało, ale to wszytko czego potrzubuję. Pewnie czasami jeszcze coś o czym aktualnie nie pamiętam (nie mam zainstalowane na maszynie z której piszę).
Chociaż R# is VsVim to takie kobyły, że już więcej nic nie trzeba 🙂

Najnowszy VsVim – wolne visualstudiogallery

Posted on Updated on

Gdy chcemy ściągnąć VsVim (super dodatek do Visual Studio – jak dla mnie 😉 to zazwyczaj wylądujemy na stronie oficjalnych dodatków do Visual Studio (Visual Studio Gallery). Problem z tym jest taki, że ta wersja jest rzadko aktualizowana (ostatnio lipiec – 8 miesięcy temu). A development idzie do przodu 🙂

Właściwym miejscem do ściągania jest więc Open VSIX Gallery . Tam lądują paczki po każdym commitcie do mastera na https://github.com/jaredpar/VsVim. Dzięki serwisowi AppVeyor.
Działa to w skrócie:

  • pobierz najnowsze źródła
  • puść skrypty Continuous Integration (budowanie, testowanie …)
  • deploy jeśli wszystko poszło dobrze (tutaj właśnie na Open VSIX Gallery)

Polecam zainteresować się tego typu rozwiązaniami dla projektów Pet projects (za darmo dla Open Source).

VsVim – niekorzystanie ze strzałek

Posted on

VsVim i jego vimowe podejście doskonale się sprawdza jeśli chodzi o operacje na “kodzie”. Przesuwanie, podmienianie, nawigacja – wszystko to bez użycia strzałek. Jednak jedno z narzekań jakie czasem słyszę to fakt, że ze strzałek trzeba korzystać gdy trzeba coś wybierać z menu kontekstowych lub z Resharperowych okienek. Nie jest to aż takie bolesne gdy zwróci się uwagę na kilka udogodnień.

Z menu kontekstowego można wybierać na pomocą klawiatury

Może to rzeczywiście nie być takie oczywiste ale można 🙂 Każda taka akcje ma przypisaną literkę (to ta PODKREŚLONA) po kliknięciu której odpali się akcja. Kilka przykładów:

Resharper context menu with keyboard shortcuts
“Refactor this” menu from Resharper
Resharper context menu in solution explorer
R# “Refactor this” menu from solution explorer
Context menu after right click after Visual Studio code tab
Menu po kliknięciu PPM na taba z kodem
 

W powyższych przypadkach sobie poradzimy 😀

Gdzie trzeba użyć strzałek

Niestety jest kilka miejsc gdzie się to nie uda:
WIP…

Przykładowe makra vs vim

Posted on Updated on

Makro rozrzucające argumenty metody do nowych linii. (Jako że szukamy ‘, ‘ to zadziała nawet gdy jesteśmy w miejscu gdzie właśnie utworzyliśmy ‘private readonly IService _service’ i inicjalizujemy z konstruktowa.)

0/, <ENTER>ls<ENTER><ESC>
pod literka ‘c’ jako ‘ctor’.

Z jakiegoś powodu ‘(‘ i ‘)’ nie sa widoczne w moich makrach lub zle sie wstawiaja. Any idea?

Add detailed logging to Debug

Sytuacja przed:

var destinationType = _typeMapperService.GetByteArrayBasedType(sourceType);

Sytuacja po:

var destinationType = _typeMapperService.GetByteArrayBasedType(sourceType);

Debug.WriteLine("destinationType '{0}", destinationType.FullName);

VsVim journey

Posted on Updated on

>> indent
<< unindent


:vmap >>
:vmap <<

from https://github.com/jaredpar/VsVim/issues/1133

http://vim.wikia.com/wiki/Search_and_replace

“2p – numbered registers – przedostatni

For example when you put this in your .vimrc

vmap r "_dP // it's a capital 'p' on the end

From http://stackoverflow.com/questions/54255/in-vim-is-there-a-way-to-delete-without-putting-text-in-the-register

Esc zamiast CapsLock

CapsLock jest naprawdę zbędnym klawiszem, a w Vim Escape jest używany dość często. Proponuję je przemapować.
http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_Windows
Ja skorzystałem z opcji AutoHotkey. Najprostsze rozwiazanie czyli plik z rozszerzeniem .ahk, np escFromCapsLock.ahk posiadający jedną linijkę:


Capslock::Esc

Taki skrypt dodajemy do Autostartu.

Problem, Praca w trybie Administratora: jeśli mamy program uruchomiony w trybie Administratora to powyższy skrypt nie zadziała. Żeby już nie kombinować za bardzo to wtedy odpalam sobie ten skrypt ręcznie jako Administrator.

Domyślny schowek Vima jest także schowkiem Windowsowym

Dodajemy do _vimrc:

:set clipboard=unnamed

Źródło: http://stackoverflow.com/questions/11489428/how-to-make-vim-paste-from-and-copy-to-systems-clipboard

zz, zt, zb – position cursor at middle, top, or bottom of screen

http://stackoverflow.com/questions/1276403/simple-vim-commands-you-wish-youd-known-earlier