Otomatik tırnak işaretlerinden nasıl devre dışı bırakılır - BASH


2

Bash dosyamda bu test kodunu kullanıyorum:

gtest() {
    echo 'hello'
}

bind '"\C-g\C-x": "$(gtest)\e\C-e"'

Gibi bir şey yazmaya başladığımda vim "ve sonra tuşuna basın. Cı-g C-X , Alırım vim hello yerine vim "hello.

Yazarsam vim """sometext ve sonra Cı-g C-X , Alırım vim sometexthello yerine vim """sometexthello.

Alıntıları saklamanın bir yolu var mı?

Yanıtlar:


3
bind '"\C-g\C-x": "\C-u$(gtest)\e\C-e\C-a\C-y\C-e"'

Sorun şuydu: \e\C-e çizgiyi değerlendirir. Yürütmek için iyi $(gtest)Yine de bariz bir şekilde karışabilir " karakter.

Hile hattı ile kaydetmektir. C-u, yalnızca değerlendir $(gtest), imleci başlangıç ​​noktasına yerleştirin ( C-a ), kaydedilmiş satırı geri yükle ( C-y ) ve sonunda imleci sonuna getirin ( C-e ).


+1 OMG, çok teşekkür ederim, bir sürü şey deniyorum .. :) Yine, teşekkür ederim dostum.
whitesiroi
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.