將文件的編輯內容寫入標準輸出

將文件的編輯內容寫入標準輸出

我需要一個可視化文字編輯器,可以按如下方式使用 - 該範例將不起作用,但說明了這一點。

gpg2 -d x.gpg | gedit -w - | gpg2 -e -o x.gpg

該命令將允許我解密文件、編輯它並重新加密它,而文件不會以未加密的形式存在於磁碟上。問題是找到一個可以將編輯的內容儲存到stdout的編輯器。我能找到的唯一編輯器是 ed,它使用起來非常不友善。我更喜歡可視化編輯器。是否有編輯器可以執行此操作,或者可以在編輯器中解密和加密檔案?

答案1

您可以使用vipe編輯管道:

SYNOPSIS
       command1 | vipe | command2

DESCRIPTION
       vipe allows you to run your editor in the middle of a unix pipeline and
       edit the data that is being piped between programs. Your editor will
       have the full data being piped from command1 loaded into it, and when
       you save, that data will be piped into command2.

ENVIRONMENT VARIABLES
       EDITOR
           Editor to use.

使用圖形編輯器的技巧是確保它不會分叉並啟動獨立的進程。例如,要使用 GVim:

gpg2 -d x.gpg | EDITOR='gvim -f' vipe | gpg2 -e -o x.gpg

我希望您需要使用以下-s選項gedit

-s, --standalone
      Run gedit in standalone mode.

所以:

gpg2 -d x.gpg | EDITOR='gedit -s' vipe | gpg2 -e -o x.gpg

或者,你可以嘗試這個插件與維姆。

相關內容