Hat sonu ötesinde dikdörtgenler nasıl hareket edilir?


16

Vim'in belgelerinin bu konuda söyledikleri:

Sanal düzenleme, imlecin gerçek karakterin olmadığı bir konuma konumlandırılabileceği anlamına gelir. Bu, bir sekmenin yarısında veya satırın sonunun ötesinde olabilir. Görsel modda bir dikdörtgen seçmek ve bir tablo düzenlemek için kullanışlıdır.

Tercihen bunun küçük bir mod veya yerleşik bir ortam olarak uygulandığını görmek isterim.


Bunun bir dikdörtgen seçmesini ister misiniz? Bu durumda, mevcut geliştirme sürümünde varsayılan değerdir.
Malabarba

Hayır, daha çok dikdörtgenleri değiştirmek / değiştirmek gibi düşünüyorum. Dikdörtgen işareti modunu kullanıyorum ve güzel bir özellik olsa da aradığım şey değil.
dadı

Gerçekten de, dikdörtgenleri sormak / değiştirmek için, dikdörtgen işaretleme modundaki mevcut işlevin doğal bir arkadaşı olacaktır. Kullanıcı arayüzünün ne olması gerektiğinden emin değilim, tho.
Stefan

Cevabınız için teşekkürler Stefan. Bu özellik en çok dikdörtgenlerle uğraşırken yararlı olur, bu nedenle dikdörtgen işaretleme modundayken bir komut sanal düzenleme türünde bir mod değiştirebilir. Şu anda dikdörtgen işaretleme modunda, nokta sanal bir düzenleme modundaymış gibi görünüyor: ile bir satırın sonunu geçebilir C-f. Ancak bunu yaptıktan sonra bir dikdörtgeni çektiğinizde, dikdörtgen nokta yerine işaretinde görünür. Bu noktada ortaya çıktıysa, bu sorunu çözecektir.
dadı

Yanıtlar:


10

extend-rectangle-to-endİşlev rectangle-utilspaketin istediğiniz şeydir. Açık melpa.

Geçerli dikdörtgen seçiminin bölgedeki en uzun satırı kapsayacak şekilde genişletilmesi için boşluklar ekler.

Bu davranışı elde etmek için, bunu init.el dosyamda buldum. C-x r evanilya emac'larında başka hiçbir şeye bağlı değildir

(require 'rectangle-utils)
(global-set-key (kbd "C-x r e") 'extend-rectangle-to-end)

1
Açıklığa kavuşturmak için, bu paketle bölgeyi seçersiniz, sonra yapar M-x extend-rectangle-to-endve sonra C-x r M-wveya C-x r k.
Kaushal Modi

18

Başka bir cevap: kullanın M-x picture-mode. Sekme karakterlerinin vb. Ortasından dikdörtgenleri öldürebilir veya kopyalayabilir, kayıtlara vb. Gönderebilirsiniz.


3
Bu yöntemi kullanmanın bir avantajı, dikdörtgen seçiminizin tam olarak ne kadar olmasını istediğinizi kontrol edebilmenizdir. 30 karakterli satır 1 ve 5 karakterli satır 2 varsa, dikdörtgeni 15 karakter genişliğinde ve 2 satır yüksekliğinde seçebilirim; bunu extend-rectangle-to-endher zaman 30x2 olacak dikdörtgen seçimi ile yapamazsınız.
Kaushal Modi

1
picture-modeeski ve az bilinen. Sahip olduğu diğer az bilinen özellikler arasında: exiting ( C-c C-c), sondaki boşlukları kaldırır.
Drew

1
Bu harika, Drew! Soru: "Sarılmayı" tavsiye etmemek için bir neden var mı? (kaynak herhangi bir kanca görmüyorum çünkü tavsiye ). rectangle-minor-modepicture-moderectangle-minor-mode
rasmus

1
İşte benim tavsiyem, btw. Bu, burada bir çeşit çağrışım olmadığı için boşluk bırakmaz:(defun rectangle-mark-mode-wrapped-in-picture-mode (orig-fun &rest args) (if rectangle-mark-mode (picture-mode) (and (eq major-mode 'picture-mode) (picture-mode-exit t)))) (advice-add 'rectangle-mark-mode :around #'rectangle-mark-mode-wrapped-in-picture-mode)
rasmus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.