{"id":19078994,"url":"https://github.com/tomtom/tgpg_vim","last_synced_at":"2026-03-19T08:02:53.949Z","repository":{"id":66582419,"uuid":"851541","full_name":"tomtom/tgpg_vim","owner":"tomtom","description":"Yet another vim plugin for encrypting files with gpg","archived":false,"fork":false,"pushed_at":"2014-02-21T10:20:11.000Z","size":144,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-02T18:48:06.730Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.vim.org/scripts/script.php?script_id=1751","language":"VimL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomtom.png","metadata":{"files":{"readme":"README","changelog":"CHANGES.TXT","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-08-20T16:24:52.000Z","updated_at":"2023-02-05T13:17:16.000Z","dependencies_parsed_at":"2023-02-20T09:00:34.739Z","dependency_job_id":null,"html_url":"https://github.com/tomtom/tgpg_vim","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Ftgpg_vim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Ftgpg_vim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Ftgpg_vim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Ftgpg_vim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomtom","download_url":"https://codeload.github.com/tomtom/tgpg_vim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240131773,"owners_count":19752725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T02:12:59.353Z","updated_at":"2026-02-28T12:33:46.642Z","avatar_url":"https://github.com/tomtom.png","language":"VimL","funding_links":[],"categories":[],"sub_categories":[],"readme":"Features:\n\n    - encrypt symmetrically\n    - encrypt asymmetrically\n    - clearsign buffer contents\n\nI couldn't get any of the existing gpg plugins to work properly (windows \nGvim \u0026 cygwin gpg) and do all the things I wanted it to do, so I wrote \nthis one. The main purpose is to perform symmetric encryption (the \ndefault) but it's flexible enough to do also clearsign and asymmetric \nencryption.\n\nYou can set |g:tgpgMode| or |b:tgpgMode| to 'encrypt' for switching to \nasymmetric encryption as default. You can also control the use of \nsymmetric and asymmetric encryption by setting set \n|g:tgpgPattern_symmetric| and |g:tgpgPattern_encrypt|.\n\nThis plugin passes the passphrase on the command line to the gpg \nprogramm. So, it could be possible that somebody makes the passphrase \nshow up in some command log. Under some circumstances it could also be \npossible that some info (eg the recipients) is logged in your viminfo \nfile. If you clearsign a message, the plain text will be written to \ndisk. Ie, if you clearsign a gpg encrypted message, the text will \ntemporarily be written to disk as plain text -- please keep in mind the \nvast range of possible consequences. If you don't like to pass \npassphrases on the command line, you'd have to change the command \ntemplates.\n\nThis plugin uses the (Buf|File)(Read|Write)Cmd autocommand events to \nwrite/read the file. I'm not sure how this works out with other plugins \nusing these events.\n\nAs I don't like typing passphrases, this plugin caches all the \npassphrases entered in encoded form in a script local variable. This \nmeans that passphrases could be written to core dumps/swapfiles, from \nwhere somebody somehow could possibly do something ... Set g:tgpgCachePW \nto 1 (buffer-wise caching only) or 0 (no caching) to change this.\n\nThis plugin was tested with Windows GVim \u0026 cygwin gpg 1.4.5 (using bash \nas shell) as well as linux vim \u0026 gpg 1.4.5. It's possible (albeit  \nunlikely) that the use of a pure Windows version of gpg or cmd.exe as \nshell doesn't work.  (Please report problems.)\n\nIf you get a message telling you about gpg command line options instead \nof the decrypted file, please check the value of |g:tgpgShellQuote|.\n\nIf writing fails, it's possible that you end up with a corrupted or \nempty file. That's why we make backups by default. Set |g:tgpgBackup| to \n0 to change this.\n\n\n=======================================================================\nInstall~\n\nEdit the vba file and type: \u003e\n\n    :so %\n\nSee :help vimball for details. If you have difficulties or use vim 7.0, \nplease make sure, you have the current version of vimball (vimscript \n#1502) installed.\n\nDouble-check the following variables for correct values:\n    - |g:tgpg_gpg_cmd|\n    - |g:tgpg_gpg_md5_sum|\n    - |g:tgpg_gpg_md5_check|\n    - |g:tgpgOptions|\n    - |g:tgpgShellQuote|\n\n\n%s\n\nStatus:  Works for me (there may be some minor quirks)\nInstall: See http://github.com/tomtom/vimtlib/blob/master/INSTALL.TXT\nSee http://github.com/tomtom for related plugins.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomtom%2Ftgpg_vim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomtom%2Ftgpg_vim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomtom%2Ftgpg_vim/lists"}