From the various comments so far, it sounds like you are in the process of learning about Emacs (welcome!). There are many things in Emacs that are unlike other editors, and as you go through the tutorials and read about things you might come across concepts like the kill ring that seem confusing and/or unnecessary.
Emacs is endlessly configurable so you can bend it to your workflow, but I would always recommend you experiment with its features before trying the change something. You might find something that seemed weird is actually really useful -- or that it isn't, but now you've got enough experience to know exactly how you would like it to work.
In this particular case it seems like you are worried about the complexity of managing the kill ring, but perhaps have not used Emacs kill/yank commands frequently enough to see that it does not gets in the way or require any specific workflow: this is a feature that is invisible until you ask for it.
If there are specific problems you've encountered (such as accidentally hitting M-y
and yanking the wrong text) then add those to the question and they can be addressed directly. You can change or remove the binding for yank-pop
if it gets in the way of something else.
Updated
Based on the comment threads, it sounds like the real concern here is not the kill-ring but rather the various kill commands.
In many editors: C-x
will cut the selected text, and C-v
will paste the most recently cut text. In Emacs: C-w
will cut the selected text, and C-y
will paste the most recently cut text -- same thing.
In many editors, you can select some text and hit backspace to delete that text without saving it anywhere. In Emacs you can do the same thing.
The difference is that most editors have only one command to cut text. Emacs has that, but also has commands to cut things without having to select them first: the rest of the line (C-k
), the next word (M-d
), a sentence, an expression, and so on. These are variations of the cut command: use any one of them, then use C-y
to paste the most recently cut bit of text.
For every cut (kill-
) command in Emacs you could define another command to do the same thing without saving to a clipboard. For example you could have delete-line
, delete-word
, delete-sentence
, delete-sexp
, etc. Then you have the choice to delete or cut anything you want -- but you double the number of commands and key bindings, and every time you want to remove some chunk of text you need to decide whether you want to save it for later.
The Emacs approach is to provide the "cut" versions of all these commands, but to maintain a longer history. You can freely cut text in many places and will be able to find it and paste it again if needed. Otherwise you can ignore the history and always paste the most recently cut text using C-y
, as usual.
Other editors I'm aware of don't (ok, ignoring vi[m]) have commands to delete up to the end of the line or sentence, delete the next expression or next 3 words, etc. You would do that by highlighting the text and then either hitting cut or backspace -- which you can do in Emacs too. So asking for these special commands to behave as they do in other editors is confusing: they don't exist elsewhere. If you want to use them, it's worth trying out the default behavior before deciding it is too complicated. If you end up deciding this is really not what you want, it is fairly easy to define new delete-xxx commands that are similar to the kill-xxx commands you actually find useful.
undo-tree
replaces the (linear) undo system of a buffer with a tree, the kill ring is a separate thing that's always of linear nature and holds your last kills. This question doesn't make any sense.kill-ring
and/or theundo-tree
differ from what you expect. It's not obvious yet what you're trying to do here when you say you want to "simplify" thekill-ring
. Do you mean you want Emacs to behave the same as other programs in how it handles undo/redo?kill-ring-max
customizable variable. Does setting it to1
replicate the "simple clipboard" you want?yank-pop
to access older entries in the kill ring, it should already behave like a 'simple clipboard': the variouskill
commands save an entry andyank
restores it.