Sık sık kendim örn değiştirmeye çalışırken bulmak foo
ile bar
ve bar
ile foo
bir tampon içerisinde.
Ben genellikle yapmak yolu ya:
- 3 sorgu yerine geçer:
aaa -> @@@
,bbb -> aaa
,@@@ -> bbb
- otomasyondan vazgeçmek ve sadece el ile değiştirme yapmak
Eşleşen dize olup olmadığını test etmek için ,
sözdizimi kullanarak bir şey almak mümkün olduğunu varsayalım veya . Ama ortaya çıkan sözdizimi çok hantal olurdu, bu yüzden gerçekten denemedim.query-replace-regexp
aaa
bbb
Mesele, ne kadar yaygın bir görev olduğu göz önüne alındığında, bence yerleşik veya mevcut bir pakette daha iyi, tek adımlık bir yolun olması gerekir. Var mı?
query-replace
, M-% str1 str2
noktayı hareket ettirmenin ve değişikliği elle yapmanın genellikle daha hızlı olduğunu biliyorum . Güzel, çünkü tek bir olay olsa bile, en hızlı neyin olacağını düşünmek için zaman harcamak zorunda değilim str1
. İdeal olarak, metin çevirmenin de aynı hızda olmasını istiyorum, böylece onu düşünmeden de kullanabilirim.
(setq a (prog1 b (setq b a)))
. Ve daha basit bir yol bile olabilir.
\,(if \1 "b" "a")
Özellikle çirkin bulmuyorum ( normal ifadesine karşı \(a\)\|b
), ama yine de kelimeler sizi rahatsız ediyorsa iki kez yazılmalıdır.
\(aaa\)\|bbb
?