Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to the Power Users community on Codidact!

Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.

Delete command from Vim's command line history?

+7
−0

Sometimes I accidentally enter a command with a typo in Vim, e.g. :e!fil instead of :e!file.

As a consequence, the incorrect command clutters the history until it is evicted from the binary .viminfo file.

Can that incorrect entry be deleted from the command line history? How?

:help cmdline-history does not touch the subject.

I tried deleting the dirty entry from the command-line window (q:) but it does not actually get deleted from the history, only from that particular window.

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

Are you sure `.viminfo` is a binary file? I'm not a vim user, but having a look at one lying around, ... (5 comments)

1 answer

+6
−0

Although .viminfo is technically a binary file, some parts of it are actually plain text. From :help viminfo-read-write,

The viminfo file itself can be edited by hand too, although we suggest you start with an existing one to get the format right. It is reasonably self-explanatory once you're in there.

Since the help section also says

When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo file (it's actually merged with the existing one, if one exists).

I suggest editing .viminfo with a different editor, otherwise Vim might merge the sessions' information and restore the line that we are trying to delete.

Look for the "Command Line History" section and then delete the two lines corresponding to the incorrect entry, then save the file. In the example below, the lines marked with X should be deleted.

# Command Line History (newest to oldest):
:qa
|2,0,1634126783,,"qa"
:e
|2,0,1634126774,,"e"
:e!file
|2,0,1634126772,,"e!file"
:e!fil                     X
|2,0,1634126770,,"e!fil"   X
:vs
|2,0,1634126766,,"vs"
History
Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

Is .viminfo really a binary file? (2 comments)

Sign up to answer this question »