タグ付けされた質問 「whitespace」



7
現在の行が「空」であるかどうかを確認する最も簡単な方法(空白を無視)?
現在の行が空であるかどうかを確認したいだけです(空白のみが含まれている場合は、空であると見なします)。 これが私の初期バージョンです。 (defun strip-text-properties(txt) (set-text-properties 0 (length txt) nil txt) txt) (defun is-current-line-empty () (interactive) (setq c-line (thing-at-point 'line)) (string-match "^\s*$" (strip-text-properties c-line))) 現在の行が空かどうかを確認する最も簡単な方法は何ですか?
14 whitespace 

2
emacsがファイルの最後の改行を表示しないようにするにはどうすればよいですか?
vimの奇妙な点の1つは、ファイルが改行文字で終わっている場合、ファイルの最後に空の行が表示されないことです。このように、ファイルが改行で終わっていない場合、表示は同じ[noeol]ですが、モードラインのマーカーのみが表示されます。 一方、Emacsは、ファイルが改行で終わっている場合は最後の行を表示し、それ以外の場合は表示しません。 Emacsの振る舞いは根本的に賢明ですが、良くも悪くも、私は前者に慣れてきました。 最後の空の行の表示を抑制しながら、ファイルを改行で終了する必要がある方法はありますか? スクリーンショットは3つのウィンドウを示しています(小さすぎる場合は、新しいタブに画像を表示します)。 の左側の大きなemacsウィンドウ。hexl-modeファイルの最後(カーソルが置かれている場所)に改行が実際にあることを示しています。 右上のEmacsウィンドウ。空の3行目にカーソルがあります。 右下にVimウィンドウがあり、最後のテキスト行にカーソルがあります。ファイルが改行で終わっていても、カーソルはこのポイントの下に移動できません([noeol]vimステータスラインにマーカーはありません)。

2
`diff-mode`で` show-trailing-whitespace`をオーバーライドする
私がしているshow-trailing-whitespaceに設定t私の中で、グローバル.emacsファイルと、これは私がしている時を除いて、一般的な問題ではないdiff-mode空白のコンテキスト行のための必須の末尾に空白があり、パッチを見ています。 1つの解決策は、関連するフックshow-trailing-whitespaceで単純にオフにdiff-modeすることですが、実際には、変更行の末尾の空白を引き続き表示したいのですが。たとえば、誤って末尾の空白を導入した場合や、それを削除する場合は問題ありませんが、それでもtrailing-whitespace顔に表示したいとします。空白のコンテキスト行は、diff形式自体に必要なため、末尾の空白として扱われたくないだけです。 これが私が得る現在の振る舞いの例です: そして、これは私が望むものです: 次に別の例を示しますが、今回は実際に空白を追加しています。 ただし、でshow-trailing-whitespace完全に無効にするとdiff-mode、暗赤色はまったく表示されません。代わりに、これは私が望んでいるものです: 基本的に、これには、show-trailing-whitespaceスペースが1つしかないdiff行が特別であることを認識させる必要があると思います。

2
すべての読み取り専用バッファに対して実行されるフックはありますか
show-trailing-whitespace編集可能なファイルを有効にしshow-trailing-whitespace、読み取り専用ファイルを無効にしたい。私はもう試した (defun my/read-only-whitespace () (setq-local show-trailing-whitespace (not buffer-read-only))) (setq-default show-trailing-whitespace t) (add-hook 'read-only-mode-hook #'my/read-only-whitespace) しかし、これは私がread-only-mode手動で有効にした場合にのみ機能するようです。自動的に読み取り専用になるバッファー(読み取り専用ファイルなど)を開くと、フックが実行されません。 すべての読み取り専用バッファに対して実行されるフックはありますか?

2
現在の幅に丸められていない先行するスペースインデントを強調表示するにはどうすればよいですか?
インデントが現在のインデント幅に揃えられていないときに、行の前のスペースを強調表示する(たとえば、背景色を設定する)方法はありますか? 例:4つのスペースインデント: fn my_func() { if foo() { ##bar(); blob(); ###fez(); baz(); } } ここで、#文字が異なる色を示す背景を表し、凹みまでバック4に位置合わせされます。 もちろん、これはコードが厳密なインデント規則に従っている場合にのみ役立ちます。 私はemacsの高度な自動インデント機能とインデントハイライトプラグインを認識していますが、問題が発生した場合にのみ表示される、煩わしさの少ないものを選択することに注意してください。末尾のスペースを強調表示するようなものです。


2
ヤンク後に空白を自動的に調整する方法は?
人間の言語のテキストを編集してテキストフラグメントを移動すると、フラグメントの最初または最後に移動した空白が新しい位置に収まらないという問題に頻繁に遭遇します。たとえば、次の段落について考えてみます。 This is the first sentence. This is the second sentence. These three sentences are the whole paragraph. kill + yankで最後の文を最初の文の前に移動すると、先頭または末尾に空白があります。列挙型でも同様の問題が発生します。 もう1つの使用例は、末尾または先頭に空白がない、killリングにある単一の単語または式を挿入する場合です。たとえば、キルリングの「very」という単語と次の文について考えてみます。 Such a minor mode would be useful. ヤンクした後、これは誤って次のようになる可能性があります。 Such a minor mode would bevery useful. 人間のテキストの空白を自動的に調整する方法はありますか?

1
Eclipseのような「フォーマットコード」
EclipseではCTRL + SHIFT + F、インデントを修正するだけでなく、空白(例:c=a +b ;に修正c = a + b;)と行の長さも修正することができます。Emacs用の同様のツールを探しています。私が知っているのはC-x h TAB、それがインデントを修正することだけです。Emacsで(特にC / C ++)ソースファイルを完全にフォーマットする自動方法を知っていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.